在Java編程中,成員變量和全局變量都是用來描述類的屬性的。全局變量,也叫做靜態變量,是一種可以被所有類的實例共享的變量,通常被聲明為static關鍵字。而成員變量則是聲明在類的內部,但在類的任何方法之外的變量,它們往往具有各自的不同特性和用途。
下面是一個Java類中成員變量和全局變量的示例:
public class Example { // 全局變量 static int globalVar = 50; // 成員變量 String name; int age; // 構造函數 public Example(String name, int age) { this.name = name; this.age = age; } // 成員方法 public void printData() { System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("Global variable: " + globalVar); } // 全局方法 public static void main(String[] args) { Example example1 = new Example("Tom", 18); Example example2 = new Example("Jerry", 20); example1.printData(); example2.printData(); globalVar = 100; System.out.println("Global variable changed: " + globalVar); } }
在上面的代碼中,globalVar是一個全局變量,被所有類的對象共享。而name和age是Example類的成員變量,每個對象都有自己的值。printData()是成員方法,用于打印對象的屬性值。而main()是全局方法,用于創建Example類的兩個對象,并調用它們的printData()方法。
在使用全局變量時要注意,它們可能會被多個線程同時修改,導致不可預期的結果。因此,正確使用全局變量至關重要。而成員變量則是對象的一部分,只有在對象創建后才有意義,因此不必擔心線程安全問題。