Android(java)學習筆記112:局部位置的內部類的介紹

來源:互聯網
上載者:User

標籤:

1.局部內部類

 1 /* 2     局部內部類 3         A:可以直接存取外部類的成員 4         B:在局部位置,可以建立內部類對象,通過對象調用內部類方法,來使用局部內部類功能 5      6     面試題: 7         局部內部類訪問局部變數的注意事項? 8         A:局部內部類訪問局部變數必須用final修飾 9         B:為什麼呢?10             局部變數是隨著方法的調用而調用,隨著調用完畢而消失。11             而堆記憶體的內容並不會立即消失。所以,我們加final修飾。12             加入final修飾後,這個變數就成了常量。既然是常量。你消失了。13             我在記憶體中儲存的是資料20,所以,我還是有資料在使用。14 */15 class Outer {16     private int num  = 10;17     18     public void method() {19         //int num2 = 20;20         //final int num2 = 20;21         class Inner {//如果num2不加final,到方法method()調用運行完畢之後,局部變數就會消失,但是堆記憶體中的new Inner不會立馬消失22             public void show() {//而且對象new Inner()內部還在使用num2,但是前面說過了num2已經提前消失了,所以會出錯,要加final23                 System.out.println(num);24                 //從內部類中訪問本地變數num2; 需要被聲明為最終類型25                 System.out.println(num2);//20---反編譯之後你會看到final效果就是System.out.println(20),直接把num2替換成2026             }27         }28         29         //System.out.println(num2);30         31         Inner i = new Inner();32         i.show();33     }34 }35 36 class InnerClassDemo5 {37     public static void main(String[] args) {38         Outer o = new Outer();39         o.method();40     }41 }

 

Android(java)學習筆記112:局部位置的內部類的介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.