21xrx.com
2024-12-22 23:12:32 Sunday
登录
文章检索 我的文章 写文章
Java中全局变量和成员变量的不同之处及使用
2023-06-15 09:37:17 深夜i     --     --
Java 全局变量 成员变量

在Java中,全局变量(也叫静态变量)和成员变量都可以存储数据,并且它们在类内部都可以被访问。但是它们的使用与作用范围不同,本文将详细介绍它们之间的区别。

全局变量定义为静态变量,它们在整个类中都可用。它们属于类本身,而不是类的任何实例。这意味着,无论创建多少对象,这个变量都只会存在一份。全局变量用static关键字来定义。

成员变量用来描述类的特征,即通过它们来表示对象的状态或特性。每个对象都有自己的一组成员变量,它们也称为非静态成员变量或实例变量。成员变量与对象的生命周期相同,即当对象被创建时,它们也会被创建,并且在对象被销毁时,它们也会随之销毁。

下面是一个演示全局变量和成员变量区别的示例代码:

public class Example {

  static int globalNum = 10; // 全局变量

  int instanceNum = 20; // 成员变量

  public static void main(String[] args) {

    Example obj1 = new Example();

    Example obj2 = new Example();

    // 访问全局变量

    System.out.println("obj1中的globalNum为:" + obj1.globalNum);

    System.out.println("obj2中的globalNum为:" + obj2.globalNum);

    // 修改全局变量

    obj1.globalNum = 100;

    System.out.println("修改后obj1中的globalNum为:" + obj1.globalNum);

    System.out.println("修改后obj2中的globalNum为:" + obj2.globalNum);

    // 访问成员变量

    System.out.println("obj1中的instanceNum为:" + obj1.instanceNum);

    System.out.println("obj2中的instanceNum为:" + obj2.instanceNum);

    // 修改成员变量

    obj1.instanceNum = 200;

    System.out.println("修改后obj1中的instanceNum为:" + obj1.instanceNum);

    System.out.println("修改后obj2中的instanceNum为:" + obj2.instanceNum);

  }

}

输出结果为:

obj1中的globalNum为:10

obj2中的globalNum为:10

修改后obj1中的globalNum为:100

修改后obj2中的globalNum为:100

obj1中的instanceNum为:20

obj2中的instanceNum为:20

修改后obj1中的instanceNum为:200

修改后obj2中的instanceNum为:20

从输出结果可以看出,全局变量和成员变量的值在不同实例中的表现是不同的,但是各自单独的一个实例中,它们的值是可以互相影响的。

综上所述,全局变量和成员变量的区别主要在于它们的作用域和存储位置不同。全局变量属于类,成员变量属于类的实例。在实际编程中,需要根据具体的需求来选择使用哪种变量。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复