Java內部類小結

2021-07-02 17:07:03 字數 1804 閱讀 9445

內部類(inner class)就是定義在乙個類裡面的類。與之對應,包含內部類的類被稱為外部類。

內部類的主要作用:

1. 提供了更好的封裝。即可以隱藏在外部類之內,不允許同乙個中的其他類訪問。

2. 內部類可直接訪問外部類的所有資料。

3. 事實上,內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類更方便。

內部類可分為以下幾種:

1. 成員內部類

2. 靜態內部類

3. 方法內部類

4. 匿名內部類

這裡主要介紹前三種。

內部類中最常見的就是成員內部類,也稱為普通內部類。

示例**:

public

class outer

}public

static

void

main(string args)

}

從上述**中可知,成員內部類的使用方法:

1. inner 類定義在 outer 類的內部,相當於 outer 類的乙個成員變數的位置。inner 類可以使用任意訪問控制符,如 public 、 protected 、 private 等。

2. inner 類中定義的 test() 方法可以直接訪問 outer 類中的資料,而不受訪問控制符的影響,如直接訪問 outer 類中的私有屬性a。

3. 定義了成員內部類後,必須使用外部類物件來建立內部類物件,而不能直接去 new 乙個內部類物件。

注意:

1. 外部類不能直接使用內部類的成員和方法。可先建立內部類的物件,然後通過內部類的物件來訪問其成員變數和方法。

2. 如果外部類和內部類具有相同的成員變數或方法,內部類預設訪問自己的成員變數或方法,如果要訪問外部類的成員變數,可以使用 this 關鍵字。

例如:

public

class outer

}...

}

靜態內部類是 static 修飾的內部類。

這種內部類的特點是:

示例**:

public

class souter

}public

static

void

main(string args)

}

執行結果:

訪問外部類中的b: 2

訪問內部類中的b: 3

方法內部類就是內部類定義在外部類方法中的類。方法內部類只在該方法的內部可見,即只在該方法內可以使用。

注意:由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。

示例**:

public

class outer

}minner mi = new minner();

mi.print();

}public

static

void

main(string args)

}

執行結果:

訪問外部類方法中的常量a:1

訪問內部類中的變數c:3

Java內部類學習小結

靜態內部類 類內部類 成員內部類 例項內部類 方法內部類 匿名內部類 不能引用外部類的例項變數和例項方法 例項建立方式 public class outstaticinner class newinner不能引用外部類的類變數和類方法 不能有類成員變數和方法,可以有常量。如果外部類的類方法m中或者類...

Java中的內部類小結

內部類 如果a類需要直接訪問b類中的成員,而b類又需要建立a類的物件。這時,為了方便設計和訪問,直接將a類定義在b類中。就可以了。a類就稱為內部類。內部類可以直接訪問外部類中的成員。而外部類想要訪問內部類,必須要建立內部類的物件。class outer.方法。匿名內部類的使用場景 當函式的引數是介面...

Java內部類的使用小結

內部類不是非常好理解。但說白了事實上也就是乙個類中還包括著另外乙個類 如同乙個人是由大腦 肢體 器官等身體結果組成。而內部類相當於當中的某個器官之中的乙個,比如心臟 它也有自己的屬性和行為 血液 跳動 顯然,此處不能單方面用屬性或者方法表示乙個心臟,而須要乙個類 而心臟又在人體其中,正如同是內部類在...