天天看點

Java 中static關鍵字

static 修飾的變量是 同一個類建立的所有對象 共享的。

若确定了 同一個類建立的所有對象的某個屬性 是 一緻的(比如,都是中國國籍,都是男生等),則該屬性可以用static修飾。

在建立的所有對象的某個屬性相同的前提下,用 static 修飾類的某個屬性,是為了建立多個對象時節省記憶體空間。

程式運作時有專門的靜态區,用來存儲 靜态屬性 和 靜态方法。

static關鍵字注意事項:

(1)在靜态方法中沒有 this 關鍵字

(2)靜态方法隻能通路靜态的成員變量和靜态的成員方法

靜态是随着類的加載而存在的,而普通的變量和方法(包括 this)是随着對象的建立而存在的。

package level2;

class AA{
	public static void show() {
		System.out.println("AA");
	}
}
class BB extends AA{
	public static void show() {
		System.out.println("BB");
	}
}
public class staticDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		AA a = new BB();
		a.show();
		BB b = new BB();
		b.show();
		AA.show();
		BB.show();
	}

}
           

測試結果:

AA

BB

AA

BB

關于這段代碼,個人不是很了解,歡迎大家解惑。