Java 語言中 final 和 static 都是關鍵字,它們用于定義不可改變的值及靜態變量,下面我們具體了解一下。
final
使用 final 關鍵字聲明的變量是一個常量,只能被賦值一次,并且不能再次被賦值修改。final 可以用于修飾類、方法、變量等。當用 final 修飾類時,該類無法被繼承;當用 final 修飾方法時,該方法無法被覆蓋,而用 final 修飾變量時,一旦被賦值之后,就不能再次修改。
public class FinalExample { public static void main(String[] args) { final int number = 10; // number = 20; // 編譯錯誤,常量不能被修改 System.out.println(number); } }
static
使用 static 關鍵字聲明的變量是靜態變量,它屬于整個類,而不屬于某個實例對象。靜態變量可以用類名直接訪問,也可以通過對象訪問。在內存中,靜態變量只有一份拷貝,被所有的對象所共享。
public class StaticExample { public static String name = "Java"; public static void main(String[] args) { System.out.println(StaticExample.name); // 通過類名訪問 StaticExample example = new StaticExample(); System.out.println(example.name); // 通過對象訪問 } }
在類的靜態方法中可以直接訪問靜態變量,但無法訪問非靜態變量,而在非靜態方法中可以訪問靜態變量和非靜態變量。
綜上所述,final 和 static 都是Java關鍵字,它們的具體使用可以根據情況來選擇。final 用于聲明常量或定義不可修改的變量、方法或類,而 static 用于聲明靜態變量或方法,它們都是 Java 中非常重要的關鍵字。