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 {}}
  1. 內(nèi)部類的訪問特點
  • 內(nèi)部類可以直接訪問外部類的成員,包括私有

  • 外部類要訪問內(nèi)部類的成員,必須創(chuàng)建對象

1.2 成員內(nèi)部類

  1. 按照內(nèi)部類在類中定義的位置不同,可以分為如下兩種形式
    • 在類的成員位置:成員內(nèi)部類
    • 在類的局部位置:局部內(nèi)部類
  2. 成員內(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)了該接口的子類匿名對象==