首页 > 编程笔记

Java实例变量和类变量的用法

在定义类时类体包括成员变量的声明和方法的定义,而成员变量可以再分为实例变量和类变量。

实例变量和类变量的特点及区别如下:

1) 不同对象的实例变量互不相同

一个类使用运算符 new 可以创建多个对象,这些对象被分配不同的实例变量,即不同对象的实例变量占用不同的内存空间,改变其中一个对象的实例变量不会影响其他对象的实例变量的值。

2) 所有的对象共享类变量

类变量属于类的共用变量,所有的对象共享类变量。因此,类变量不仅可以通过某个对象访问,还可以直接通过类名访问。在 Java 程序中定义类变量,需要使用关键字 static。

【实例】实例变量和类变量的应用。
class Student {
    // 声明实例变量
    String name; 
 
    // 声明类变量 
    static String schoolName; 
} 

public class Test { 
    public static void main(String[] args) { 
        Student student1 = new Student(); 
        Student student2 = new Student();
        // 不同对象给实例变量赋值
        student1.name = "张三"; 
        student2.name = "李四"; 
 
        // 为类变量赋值 
        Student.schoolName = "工学院"; 
 
        System.out.println("我的名字是:" + student1.name + ",是" + student1.schoolName + "的学生"); 
        System.out.println("我的名字是:" + student2.name + ",是" + student2.schoolName + "的学生"); 
    } 
}
运行结果为:

我的名字是:张三,是工学院的学生
我的名字是:李四,是工学院的学生

在上述代码中,Student 类中定义了一个实例变量 name 和类变量 schoolName,其中 schoolName 变量被所有的实例对象共享。因此,student1 和 student2 的 schoolName 属性的值均为“工学院”。

推荐阅读