Java 变量之间的一些区别

来源:互联网 发布:java中class的作用 编辑:程序博客网 时间:2024/05/19 17:22
  • 局部变量在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量类变量也声明在类中,方法体之外,但必须声明为static类型。

类变量与成员变量的区别是:
1)存储位置不同。静态变量存储于方法区,而成员变量存储于堆区。
2)生命周期不同。静态变量在加载类过程中优先加载,其生命周期取决于类的生命周期;
成员变量在创建实例时才创建,它的生命周期取决于实例的生命周期。
3)引用对象不同。静态变量属于类,被类的所有实例共享,可以直接使用类名来引用也可以通过类的实例引用;而实例变量则属于某个对象,它必须在创建对象后才可以通过这个对象来使用。
4)使用方法不同。一个类只能有一个同名静态变量,无论是通过类或者任何一个实例对静态变量重新赋值,结果都是一样;而一个类创建多少个实例就会有多少个同名成员变量,各实例变量存储空间不同,对其中一个实例变量重新赋值不影响其它实例的同名变量。
阅读全文
0 0