教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Java培訓(xùn):java靜態(tài)內(nèi)部類的作用

更新時(shí)間:2022年07月20日09時(shí)46分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  靜態(tài)內(nèi)部類,就是使用static關(guān)鍵字修飾的成員內(nèi)部類。與成員內(nèi)部類相比,在形式上,靜態(tài)內(nèi)部類只是在內(nèi)部類前增加了static關(guān)鍵字,但在功能上,靜態(tài)內(nèi)部類只能訪問(wèn)外部類的靜態(tài)成員,通過(guò)外部類訪問(wèn)靜態(tài)內(nèi)部類成員時(shí),可以跳過(guò)外部類直接訪問(wèn)靜態(tài)內(nèi)部類。

  創(chuàng)建靜態(tài)內(nèi)部類對(duì)象的基本語(yǔ)法格式如下:

外部類名.靜態(tài)內(nèi)部類名 變量名 = new 外部類名 ().靜態(tài)內(nèi)部類名 ();

  下面通過(guò)一個(gè)案例學(xué)習(xí)靜態(tài)內(nèi)部類的定義和使用,如文件4-22所示。

  文件4-22 Example22.java

class Outer {
    static int m = 0; // 定義類的成員變量
    // 下面的代碼定義了一個(gè)靜態(tài)內(nèi)部類
    static class Inner {
        int n = 1;
        void show () {
            // 在靜態(tài)內(nèi)部類的方法中訪問(wèn)外部類的成員變量
            System.out.println("外部靜態(tài)變量m = " +m);
        }
    }
}
public class Example22 {
    public static void main (String[] args) {
        Outer.Inner inner = new Outer.Inner () ;
        inner.show();
    }
}

  文件4-22的運(yùn)行結(jié)果如圖4-22所示。

靜態(tài)內(nèi)部類的定義和使用

  圖4-22 文件4-22的運(yùn)行結(jié)果

  在文件4-22中,第1~11行代碼定義了一個(gè)外部類Outer,其中第2~10行代碼是在Outer類中定義了靜態(tài)成員變量和靜態(tài)內(nèi)部類Inner。然后在靜態(tài)內(nèi)部類Inner中,編寫(xiě)了一個(gè)show()方法,在show()方法中打印了外部靜態(tài)變量m,第14~15行代碼聲明了一個(gè)內(nèi)部類對(duì)象inner,并使用inner對(duì)象調(diào)用show()方法測(cè)試對(duì)外部類靜態(tài)變量m的調(diào)用。

0 分享到:
和我們?cè)诰€交談!