Java 中 static 和 final 修饰的成员变量初始化详解:示例说明
在 Java 中,被 static 和 final 修饰的成员变量需要在声明时进行初始化。下面是几个例子来说明这一点:
- static 关键字修饰的成员变量:
public class MyClass {
public static int count;
public static void main(String[] args) {
System.out.println(MyClass.count); // 输出: 0
}
}
在上面的例子中,count 是一个静态变量,它在声明时没有进行初始化。然而,由于是静态变量,它会在类加载时被初始化为默认值,即 0。因此,即使没有显式地初始化 count,它的值仍为 0。
- final 关键字修饰的成员变量:
public class MyClass {
public final int MAX_VALUE = 100;
public static void main(String[] args) {
MyClass obj = new MyClass();
System.out.println(obj.MAX_VALUE); // 输出: 100
}
}
在上面的例子中,MAX_VALUE 是一个 final 变量,它在声明时进行了初始化,被赋值为 100。final 变量一旦被赋值,就不能再改变其值。
- static 和 final 关键字同时修饰的成员变量:
public class MyClass {
public static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(MyClass.PI); // 输出: 3.14
}
}
在上面的例子中,PI 是一个静态的 final 变量,它在声明时进行了初始化,被赋值为 3.14。由于是 final 变量,它的值不能再改变。由于是静态变量,可以通过类名直接访问。
总结:被 static 和 final 修饰的成员变量都需要在声明时进行初始化。对于静态变量,如果没有显式地进行初始化,它会被默认初始化为零值。对于 final 变量,一旦被赋值,就不能再改变其值。
原文地址: https://www.cveoy.top/t/topic/pWY7 著作权归作者所有。请勿转载和采集!