更新時(shí)間:2021-08-11 來(lái)源:黑馬程序員 瀏覽量:
所謂靜態(tài)內(nèi)部類(lèi),就是使用static關(guān)鍵字修飾的成員內(nèi)部類(lèi)。與成員內(nèi)部類(lèi)相比,在形式上,靜態(tài)內(nèi)部類(lèi)只是在內(nèi)部類(lèi)前增加了static關(guān)鍵字,但在功能上,靜態(tài)內(nèi)部類(lèi)中只能訪問(wèn)外部類(lèi)的靜態(tài)成員,同時(shí)通過(guò)外部類(lèi)訪問(wèn)靜態(tài)內(nèi)部類(lèi)成員時(shí),可以跳過(guò)外部類(lèi)從而直接通過(guò)內(nèi)部類(lèi)訪問(wèn)靜態(tài)內(nèi)部類(lèi)成員。
創(chuàng)建靜態(tài)內(nèi)部類(lèi)對(duì)象的基本語(yǔ)法格式如下:
外部類(lèi)名.靜態(tài)內(nèi)部類(lèi)名 變量名 = new 外部類(lèi)名.靜態(tài)內(nèi)部類(lèi)名();接下來(lái)通過(guò)一個(gè)案例來(lái)學(xué)習(xí)靜態(tài)內(nèi)部類(lèi)的定義和使用,如文件1所示。
文件1 Example20.java
// 定義外部類(lèi)Outer class Outer { static int m = 0; // 定義外部類(lèi)靜態(tài)變量m static class Inner { void show() { // 靜態(tài)內(nèi)部類(lèi)訪問(wèn)外部類(lèi)靜態(tài)成員 System.out.println("外部類(lèi)靜態(tài)變量m="+m); } } } // 定義測(cè)試類(lèi) public class Example20 { public static void main(String[] args) { // 靜態(tài)內(nèi)部類(lèi)可以直接通過(guò)外部類(lèi)創(chuàng)建 Outer.Inner inner = new Outer.Inner(); inner.show(); } }運(yùn)行結(jié)果如圖1所示。
圖1 運(yùn)行結(jié)果
文件1中,定義了一個(gè)外部類(lèi)Outer,并在該內(nèi)中定義了靜態(tài)成員變量和靜態(tài)內(nèi)部類(lèi)Inner。然后在靜態(tài)內(nèi)部類(lèi)Inner中,編寫(xiě)了show()方法來(lái)測(cè)試對(duì)外部類(lèi)靜態(tài)變量的調(diào)用。
猜你喜歡:
Java System類(lèi)方法詳細(xì)介紹[java培訓(xùn)]