Java中的靜態變量和類變量是指在類的聲明中由static關鍵字修飾而不是由成員變量直接定義的變量。它們可以作為全局變量在一個類的多個實例中共享。
靜態變量屬于類級別,而不是實例級別。這意味著無論創建多少個類的實例,該變量都不會改變。靜態變量通常與常量值一起使用,例如Math.PI或Color.RED。
public class Person { static String nationality = "Chinese"; String name; int age; } Person.p1 = new Person(); Person.p1.name = "張三"; Person.p1.age = 20; Person.p2 = new Person(); Person.p2.name = "李四"; Person.p2.age = 25; System.out.println(Person.nationality); // 輸出 "Chinese" System.out.println(Person.p1.nationality); // 輸出 "Chinese" System.out.println(Person.p2.nationality); // 輸出 "Chinese" System.out.println(Person.p1.name); // 輸出 "張三" System.out.println(Person.p2.name); // 輸出 "李四"
類變量與靜態變量類似,它們也屬于類級別而非實例級別。但是,它們不允許修改,因此它們被認為是常量。類變量通常用于存儲類的特定屬性,例如當前類的版本號。
public class Calculator { public static final double PI = 3.14159; public static final double E = 2.71828; } System.out.println(Calculator.PI); // 輸出 "3.14159" System.out.println(Calculator.E); // 輸出 "2.71828"
總而言之,靜態變量和類變量是Java中非常有用的概念,它們可以提供全局數據共享和常量定義的功能。對于那些需要跨多個實例共享數據的程序,它們是強有力的工具。