1 內(nèi)部類
1.1 內(nèi)部類概述
內(nèi)部類: 就是在一個類中定義一個類。舉例: 在一個類A的內(nèi)部定義一個類B,類B就被稱為內(nèi)部類
- 內(nèi)部類的定義格式
public class 類名 { 修飾符 class 類名 {}}
- 范例:
public class outer { public class Inner {}}
- 內(nèi)部類的訪問特點
內(nèi)部類可以直接訪問外部類的成員,包括私有
- 外部類要訪問內(nèi)部類的成員,必須創(chuàng)建對象
1.2 成員內(nèi)部類
- 按照內(nèi)部類在類中定義的位置不同,可以分為如下兩種形式
- 在類的成員位置:成員內(nèi)部類
- 在類的局部位置:局部內(nèi)部類
- 成員內(nèi)部類,外界如何創(chuàng)建對象使用呢?
- 格式: 外部類名.內(nèi)部類名 對象名 = 外部類對象.內(nèi)部類對象;
- 范例: Outer.Inner oi = new Outer().new Inner();
1.3 局部內(nèi)部類
局部內(nèi)部類是在方法中定義的類,所以外界是無法直接使用,需要在方法內(nèi)部創(chuàng)建對象并使用
該類可以直接訪問外部類的成員,也可以訪問方法內(nèi)的局部變量
1.4 匿名內(nèi)部類
前提: 存在一個類或者接口,這里的類可以是具體類也可以是抽象類
- 格式:
new 類名或者接口名 { 重寫方法;};
- 范例:
new Inter() { public void show() {}}
==本質(zhì): 是一個繼承了該類或者實現(xiàn)了該接口的子類匿名對象==