首頁技術文章正文

什么是成員內部類?成員內部類詳解

更新時間:2021-08-11 來源:黑馬程序員 瀏覽量:

IT培訓班

在一個類中除了可以定義成員變量、成員方法,還可以定義類,這樣的類被稱作成員內部類。在成員內部類中,可以訪問外部類的所有成員,包括成員變量和成員方法;在外部類中,同樣可以訪問成員內部類的變量和方法。

接下來通過一個案例來學習成員內部類的定義和使用,如文件1所示。

文件1 Example18.java

     // 定義外部類Outer
     class Outer {
         int m = 0; // 定義外部類的成員變量
         // 定義外部類成員方法
         void test1() {
             System.out.println("外部類成員方法");
         }
         // 定義成員內部類Inner
        class Inner {
             int n = 1;
             // 1、定義內部類方法,訪問外部類成員變量和方法
             void show1() {
                 System.out.println("外部類成員變量m="+m);
                 test1();
             }
             void show2(){
                 System.out.println("內部類成員方法");
             }
         }
         // 2、定義外部類方法,訪問內部類變量和方法
         void test2() {
             Inner inner = new Inner();
             System.out.println("內部類成員變量n="+inner.n);
             inner.show2();
         }
     }
     // 定義測試類
     public class Example18 {
         public static void main(String[] args) {
             Outer outer = new Outer();                // 創(chuàng)建外部類對象
             Outer.Inner inner = outer.new Inner(); // 創(chuàng)建內部類對象
             inner.show1();  // 測試在成員內部類中訪問外部類成員變量和方法
             outer.test2(); // 測試在外部類中訪問內部類成員變量和方法
         }
     }
運行結果如圖1所示。

1628665386492_21.jpg

圖1 運行結果

文件1中,定義了一個外部類Outer,并在該類中定義了成員變量、成員方法和成員內部類Inner。在成員內部類Inner中,編寫了show1()方法來測試內部類對外部類成員變量和方法的調用;同時在外部類Outer中,編寫了test2()方法來測試外部類對內部類變量和方法的調用。從圖1可以看出,成員內部類可以訪問外部類所有成員,同時外部類也可以訪問成員內部類的所有成員。

需要注意的是,在文件1中第31行代碼是通過外部類對象創(chuàng)建的內部類對象,這樣就可以操作內部類中的成員。創(chuàng)建內部類對象的具體語法格式如下:

外部類名.內部類名 變量名 = new 外部類名().new 內部類名();






猜你喜歡:

File類中常用的構造方法【黑馬程序員】

類與類之間的關系有哪些?

為什么需要對類進行封裝?

黑馬程序員Java開發(fā)培訓課程

分享到:
在線咨詢 我要報名
和我們在線交談!