Java中何为静态......

120 阅读2分钟

在 Java 中,静态方法是指定义在类中的一个方法,被声明为静态。它们不依赖于类的实例,可以通过类名直接调用。而当我们在静态方法中使用了 static 关键字修饰的变量、方法或类时,就是指这些变量、方法或类是属于该类本身,而不是属于该类实例化对象的。


我们可以将 static 理解为一个标记,意味着该变量、方法或类与类本身紧密相关,而不属于类中每个实例的独有属性和方法。


下面介绍一些 static 关键字的使用:

1. 静态变量(类变量)

静态变量(或称类变量)是指定义在类中,且被声明为 static 的变量。该变量可以通过类名直接访问,而不需要对类进行实例化。例如:

public class MyClass {
    public static int num = 10;
    // ...
}

// 在其他类中访问静态变量
int myNum = MyClass.num; // 直接通过类名访问静态变量

2. 静态方法

静态方法是指定义在类中,且被声明为 static 的方法,不需要对类进行实例化直接通过类名访问。静态方法中也可以访问静态变量。示例代码如下:

public class MyClass {
    public static void myStaticMethod() {
        System.out.println("This is a static method.");
    }
    // ...
}

// 在其他类中调用静态方法
MyClass.myStaticMethod(); // 直接通过类名调用静态方法

3. 静态代码块

静态代码块是指在类被加载时执行的一段代码块,只会执行一次,通常用于进行静态变量的初始化。示例代码如下:

public class MyClass {
    public static int num;
    static {
        num = 10;
        System.out.println("Static code block executed");
    }
    // ...
}
  • 在上面的例子中,静态代码块在类加载时执行,首先将 num 赋值为 10,然后打印一条信息。注意,静态代码块只会在类被加载时执行一次。
  • 需要注意的是,使用静态方法和变量时,应该慎重考虑,确保它们确实适用于该对象的所有实例。如果静态方法的行为依赖于传递给它的参数,或者与对象状态有关,则可能应该使用实例方法而不是静态方法。