首頁(yè)技術(shù)文章正文

靜態(tài)內(nèi)部類指的是什么?如何使用?

更新時(shí)間:2021-08-11 來(lái)源:黑馬程序員 瀏覽量:

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)成員,同時(shí)通過(guò)外部類訪問(wèn)靜態(tài)內(nèi)部類成員時(shí),可以跳過(guò)外部類從而直接通過(guò)內(nèi)部類訪問(wèn)靜態(tài)內(nèi)部類成員。

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

外部類名.靜態(tài)內(nèi)部類名 變量名 = new 外部類名.靜態(tài)內(nèi)部類名();
接下來(lái)通過(guò)一個(gè)案例來(lái)學(xué)習(xí)靜態(tài)內(nèi)部類的定義和使用,如文件1所示。

文件1 Example20.java

     // 定義外部類Outer
     class Outer {
         static int m = 0; // 定義外部類靜態(tài)變量m
         static class Inner {
             void show() {
                 // 靜態(tài)內(nèi)部類訪問(wèn)外部類靜態(tài)成員
                 System.out.println("外部類靜態(tài)變量m="+m);
             }
         }
     }
     // 定義測(cè)試類
     public class Example20 {
         public static void main(String[] args) {
             // 靜態(tài)內(nèi)部類可以直接通過(guò)外部類創(chuàng)建
             Outer.Inner inner = new Outer.Inner(); 
             inner.show();
         }
     }
運(yùn)行結(jié)果如圖1所示。

1628667126283_31.jpg

圖1 運(yùn)行結(jié)果

文件1中,定義了一個(gè)外部類Outer,并在該內(nèi)中定義了靜態(tài)成員變量和靜態(tài)內(nèi)部類Inner。然后在靜態(tài)內(nèi)部類Inner中,編寫(xiě)了show()方法來(lái)測(cè)試對(duì)外部類靜態(tài)變量的調(diào)用。





猜你喜歡:

Java System類方法詳細(xì)介紹[java培訓(xùn)]

什么是線程?線程有幾種類型?

InectAddress類的常用方法,怎樣使用InetAddress類?

黑馬程序員Java開(kāi)發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!