內部類類別:
成員內部類:在乙個類的成員位置定義另外乙個類,那麼另外乙個類就被稱為成員內部類。
訪問方式1: 在外部類提供乙個方法建立內部類的物件進行訪問。
2: 在其他類建立內部類的物件進行訪問。建立格式:外部類.內部類 變數名=new 外部類().new 內部類();
注意:如果是靜態內部類:外部類.內部類 變數名=new 外部類.new 內部類()
成員內部類要注意的事項:
1.成員內部類可以直接訪問外部類的成員
2.如果成員內部類與外部類存在同名的成員,在內部類預設訪問的是內部類的成員,可以用「外外部類.this.成員 」來訪問指定的外部類成員
3.如果成員內部類出現了靜態成員,那麼該成員內部類也必須使用static修飾。
4.如果成員內部類是私有的,那麼建立內部類的物件就只能在外部類提供方法建立。
區域性內部類: 在乙個類的方法內部定義另外乙個類,另外乙個類就稱為區域性內部類。
注意事項:如果區域性內部類訪問了區域性變數,那麼該變數需要使用final修飾(原因:因為生 命週期不一致,所有內部類訪問的是乙個複製品)
區域性變數:不能定義為public,protected,private或者static型別
不能定義static變數;
匿名內部類:沒有類名的類。
好處:簡化書寫
匿名內部類的使用前提:必須存在繼承或者實現關係。
格式:new 父類(父介面){
匿名內部類的成員;
} 匿名內部類不能有構造方法。
·匿名內部類不能定義任何靜態成員、方法和類。
·匿名內部類不能是public,protected,private,static。
·只能建立匿名內部類的乙個例項。
·乙個匿名內部類一定是在new的後面,用其隱含實現乙個介面或實現乙個類。
·因匿名內部類為區域性內部類,所以區域性內部類的所有限制都對其生效
內部類 成員內部類 區域性內部類 匿名內部類
public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...
內部類(成員內部類 靜態內部類 方法內部類)
一 成員內部類 最常見的內部類就是成員內部類,也稱作普通內部類 2 inner類中定義的test 方法可以訪問outer類中的資料,不受訪問控制符的影響。3 定義了成員內部類後,必須使用外部類物件來建立內部類物件,而不能直接去 new 乙個內部類物件,即 內部類 物件名 外部類物件.new 內部類 ...
成員內部類,區域性內部類,靜態內部類,匿名內部類
成員內部類 class demo1 innerclass a 內部類概述 b 內部類訪問特點 a 內部類可以直接訪問外部類的成員,包括私有。b 外部類要訪問內部類的成員,必須建立物件。外部類名.內部類名 物件名 外部類物件.內部類物件 class outer class demo2 innercla...