java静态变量和实例变量生命周期
时间: 2023-12-03 10:39:48 浏览: 101
Java中,静态变量和实例变量的生命周期是不同的。
静态变量的生命周期取决于类的生命周期,它们在类被加载时被初始化,只有一个副本,被类的所有实例共享。静态变量位于方法区,可以通过类名直接访问。
实例变量的生命周期取决于对象的生命周期,它们在对象被创建时被初始化,每个对象都有自己的一份实例变量副本。实例变量位于堆内存中,只能通过对象名访问。
以下是一个简单的Java程序,演示了静态变量和实例变量的生命周期:
```java
public class VariableLifecycle {
static int staticVar = 1; // 静态变量
int instanceVar = 2; // 实例变量
public static void main(String[] args) {
VariableLifecycle obj1 = new VariableLifecycle(); // 创建对象1
VariableLifecycle obj2 = new VariableLifecycle(); // 创建对象2
System.out.println("obj1.staticVar = " + obj1.staticVar); // 输出:1
System.out.println("obj2.staticVar = " + obj2.staticVar); // 输出:1
obj1.staticVar = 3; // 修改静态变量
obj1.instanceVar = 4; // 修改实例变量
System.out.println("obj1.staticVar = " + obj1.staticVar); // 输出:3
System.out.println("obj2.staticVar = " + obj2.staticVar); // 输出:3
System.out.println("obj1.instanceVar = " + obj1.instanceVar); // 输出:4
System.out.println("obj2.instanceVar = " + obj2.instanceVar); // 输出:2
}
}
```
阅读全文