首页 > 编程笔记 > Java笔记 阅读:22

Java static静态方法和静态变量的用法(附带实例)

Java 程序中,静态变量和静态方法是与类本身关联的成员,而不是与类的特定实例对象关联,它们都使用关键字 static 进行定义。

静态变量也称为类变量(Class Variable),是定义在类中,但在所有对象实例之间共享的变量。它们只会被初始化一次,且在类加载时初始化。静态变量通过类名直接访问,也可以通过对象实例访问。

静态方法也称为类方法(Class Method),是不依赖于类的实例对象的方法。它们可以通过类名直接调用,也可以通过对象实例调用。类方法通常用于执行与类相关的操作,而不需要访问实例变量。

在静态方法中,不能直接访问实例变量,因为静态方法是不依赖于对象实例的。但是静态方法可以访问静态变量,因为静态变量是与类本身关联的。

定义静态变量和静态方法的示例代码如下:
class MyClass {
    // 类变量
    static int count = 0;
   
    // 类方法,用于访问类变量 count
    public static int getCount() {
        return count;
    }

    // 实例方法,用于对实例变量进行操作
    public void increaseCount() {
        count++; // 类方法可以访问类变量 count
    }
}
在上述示例中,定义了一个名为 MyClass 的类,其中包含一个静态变量 count 和一个静态方法 getCount()。还定义了一个实例方法 increaseCount(),该方法用于增加类变量 count 的值。

调用静态变量和静态方法的示代码如下:
public class Main {
    public static void main(String[] args) {
        System.out.println("静态变量 count 初始值:" + MyClass.count); // 输出:静态变量 count 初始值:0

        MyClass obj1 = new MyClass();
        obj1.increaseCount(); // 调用实例方法,增加类变量 count 的值

        MyClass obj2 = new MyClass();
        obj2.increaseCount(); // 调用实例方法,再次增加类变量 count 的值

        int totalCount = MyClass.getCount(); // 使用类方法获取类变量 count 的值
        System.out.println("静态变量 count 当前值:" + totalCount); // 输出:静态变量 count 当前值:2
    }
}
上述程序的运行结果如下:

静态变量 count 初始值:0
静态变量 count 当前值:2

在上述示例中,首先输出静态变量 count 的初始值为 0。然后,创建了两个 MyClass 对象,并调用了实例方法 increaseCount() 两次,增加了静态变量 count 的值。最后,使用静态方法 getCount() 获取当前类变量 count 的值,并输出结果为 2,表明静态方法可以正确访问静态变量的值。

相关文章