举例说明类变量和实例变量的区别
时间: 2024-10-24 09:01:02 浏览: 13
C++中自定义sleep、条件变量sleep实例
类变量(也称为静态变量)是在类级别声明的变量,它属于整个类,而不是某个特定的对象。当你创建类的一个新实例时,类变量不会为每个对象分配新的内存空间,而是所有对象共享同一份数据。例如:
```java
public class MyClass {
static int classVar = 0; // 类变量
private int instanceVar; // 实例变量
public MyClass() {
instanceVar = 1;
}
}
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
// 两个对象共享classVar
System.out.println(MyClass.classVar); // 输出:0 和 1 (因为obj1和obj2各自改变了instanceVar)
// 但是它们有自己的instanceVar
System.out.println(obj1.instanceVar); // 输出:1
System.out.println(obj2.instanceVar); // 输出:1
```
类变量的作用域在整个类的生命周期内有效,而实例变量则会为每个对象独立存在。
阅读全文