// static.java
public class StaticExample {
    // 静态变量,属于类而不是实例
    static int count = 0;
    // 实例变量
    int instanceCount = 0;
    // 静态方法,可以直接通过类名调用
    public static void staticMethod() {
        System.out.println("This is a static method.");
        // 不能直接访问实例变量或实例方法
        // System.out.println(instanceCount); // 编译错误
    }
    // 实例方法
    public void instanceMethod() {
        System.out.println("This is an instance method.");
        // 可以访问静态变量和静态方法
        System.out.println("Static count: " + count);
        staticMethod();
    }
    // 静态代码块,在类加载时执行
    static {
        System.out.println("Static block executed.");
        count++;
    }
    // 构造函数
    public StaticExample() {
        System.out.println("Constructor executed.");
        instanceCount++;
    }
    public static void main(String[] args) {
        // 调用静态方法
        StaticExample.staticMethod();
        // 创建对象并调用实例方法
        StaticExample example1 = new StaticExample();
        example1.instanceMethod();
        // 再次创建对象并调用实例方法
        StaticExample example2 = new StaticExample();
        example2.instanceMethod();
        // 打印静态变量的值
        System.out.println("Final static count: " + StaticExample.count);
    }
}static int count):静态变量属于类本身,而不是类的某个实例。所有实例共享同一个静态变量。int instanceCount):实例变量属于每个对象的独立副本,每个对象都有自己的实例变量。static void staticMethod()):静态方法可以直接通过类名调用,而不需要创建类的实例。静态方法不能直接访问实例变量或实例方法。void instanceMethod()):实例方法需要通过对象实例来调用。实例方法可以访问静态变量和静态方法。通过这个示例代码,你可以更好地理解 static 关键字在 Java 中的作用。
上一篇:java 方法引用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站