Java中static关键字

static 是 Java 中的一个关键字,它可以用来修饰变量、方法和代码块。它的主要作用是表示某个成员是属于类级别的,而不是实例级别的。

以下是 static 关键字在不同情况下的用法:

  1. 静态变量(类变量)

    class Example {
        static int count = 0;
        // ...
    }
    

    静态变量是属于类的,而不是属于实例的。所有实例共享同一个静态变量的值。

  2. 静态方法

    class Example {
        static void staticMethod() {
            // ...
        }
    }
    

    静态方法属于类,可以通过类名直接调用,而不需要先实例化对象。

  3. 静态代码块

    class Example {
        static {
            // 静态代码块中的代码在类加载时执行,只执行一次
        }
    }
    

    静态代码块用于初始化静态变量或执行一些静态操作。

  4. 静态类

    Java 中的内部类可以被声明为静态类,这样它将成为外部类的一个静态成员。

    class Outer {
        static class StaticInner {
            // ...
        }
    }
    

    在上面的例子中,StaticInner 是一个静态内部类。

  5. 静态导入

    import static 可以用于导入一个类的静态成员,使得可以直接使用该成员,而不用通过类名。

    import static java.lang.Math.PI;
    

    这样就可以直接使用 PI,而不用写 Math.PI

注意事项:

  • 静态方法中不能直接访问类的非静态成员,但可以访问静态成员。
  • 静态方法中不能使用 this 关键字,因为它不属于任何实例。
  • 静态方法不能被子类重写,但可以被子类的同名静态方法隐藏。

总的来说,static 关键字的使用场景主要是在多个对象之间共享某个属性或方法,或者在不需要实例化对象的情况下使用类的成员。

posted @ 2023-09-26 09:25  Rsun  阅读(1)  评论(0)    收藏  举报  来源