Java中类变量和实例变量之间的区别是什么
以下是类(静态)变量和实例变量之间的显著区别。
实例变量 | 静态(类)变量 |
---|---|
实例变量 是在类中声明的,但是不在方法、构造函数或任何块内部。 | 类变量也被称为 静态变量 是在类中用static关键字声明的,但是不在方法、构造函数或块内。 |
实例变量在使用关键字“new”创建对象时创建,并在对象销毁时销毁。 | 静态变量在程序启动时创建,并在程序停止时销毁。 |
可以直接通过在类内部调用变量名来访问实例变量。但是,在静态方法中(当实例变量被赋予可访问性时),它们应该使用完全限定的名称来调用。 ObjectReference.VariableName 。 | 可以通过调用类名来访问静态变量 ClassName.VariableName 。 |
实例变量保存必须由多个方法、构造函数或块引用的值,或者必须在类中存在的对象状态的重要部分。 | 每个类变量在每个类中只有一个副本,不论从该类创建了多少个对象。 |
示例
public class VariableExample{
int myVariable;
static int data = 30;
public static void main(String args[]){
VariableExample obj = new VariableExample();
System.out.println("Value of instance variable: "+obj.myVariable);
System.out.println("Value of static variable: "+VariableExample.data);
}
}
输出
Value of instance variable: 0
Value of static variable: 30