jdk-1.8新特性學習筆記
問:區域性內部類在訪問他所在的方法中區域性變數必須用final修飾為什麼?
答:因為當呼叫這個方法時,區域性變數如果沒有用final修飾,他的生命週期和方法的生命週期是一樣的,這個區域性變數也會消失,那麼如果區域性類物件還沒有馬上消失想用這個區域性變數,就沒有了。如果用final修飾會在類載入的時候進入常量池,即使方法彈棧,常量池的常量還在,也可以繼續使用。
@Test public void jdk18(){ Demo d = new Demo(); System.out.println("-------1.8-新特新-------"); d.print(); Inter.method();// Demo d = new Demo(); d.run(); }}interface Inter { public default void print() { System.out.println("Hello World"); } public static void method() { System.out.println("static method"); }}class Demo implements Inter { public void run() { int num = 10; //JDK8,前面的final可以省略 class Inner { public void fun() { System.out.println(num); } } Inner i = new Inner(); i.fun(); }}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2817716/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDK8 新特性學習筆記JDK筆記
- 學習筆記~1.4 HTML5新特性筆記HTML
- JDK 新特性學習筆記之模組系統JDK筆記
- [Java學習筆記]JDK1.8新特性學習(一)Lambda表示式Java筆記JDK
- C#特性學習筆記C#筆記
- Go型別特性-學習筆記Go型別筆記
- cocos2D-x初探學習筆記(31)2.1新特性CCPhysicsSprite筆記CSS
- NgRx Selector 的 Memoization 特性學習筆記筆記
- 10G新特性筆記之安裝新特性筆記
- 10G新特性筆記之備份恢復新特性筆記
- JDK 1.8 新特性學習(Stream)JDK
- Java1.8新特性學習Java
- java8新特性學習Java
- numpy的學習筆記\pandas學習筆記筆記
- 10G新特性筆記之FLASHBACK筆記
- MySQL 學習筆記(一)MySQL 事務的ACID特性MySql筆記
- Java學習筆記3事務的四大特性Java筆記
- C++ 11 新特性 nullptr 學習C++Null
- JDK11新特性學習(一)JDK
- JDK11新特性學習(二)JDK
- IT學習筆記筆記
- 學習筆記筆記
- 極光筆記丨iOS 15推送新特性筆記iOS
- oracle 10g 新特性中文筆記(zt)Oracle 10g筆記
- 【學習筆記】數學筆記
- 《JAVA學習指南》學習筆記Java筆記
- Automatic Reference Counting(ARC)特性學習(iOS5新特性學習之五)iOS
- JDK8新特性學習總結JDK
- Elasticsearch學習筆記Elasticsearch筆記
- Scala學習筆記筆記
- MySql學習筆記MySql筆記
- jQuery 學習筆記jQuery筆記
- react學習筆記React筆記
- 學習筆記(4.3)筆記
- 學習筆記(4.4)筆記
- 學習筆記(3.29)筆記
- 學習筆記(4.1)筆記
- AOP學習筆記筆記