Java物件導向 例項內部類和靜態內部類分析

2021-07-24 16:40:36 字數 846 閱讀 5218

沒有使用static修飾的內部類,說明內部類屬於外部類的物件,不屬於外部類本身。

特點:

1、建立例項內部類前,必須存在外部類物件,通過外部類鍍鋅建立內部類物件(當存在內部類物件時,一定存在外部類物件)

outter.inner in = new outter().new inner();

2、例項內部類的例項自動持有外部類的例項的引用,內部類可以直接訪問外部類成員

3、外部類中不能直接訪問內部類的成員,必須通過內部類的例項去訪問

4、例項內部類中不能定義靜態成員,只能定義例項成員

5、如果例項內部類和外部類存在同名的字段或方法abc,那麼在內部類中this.abc表示訪問內部類成員

// 外部類

class outter

// 例項內部類

class inner

}}

使用static修飾內部類

特點:

1、靜態內部類的例項不會自動持有外部類的特定例項的引用,在建立內部類的例項時,不必建立外部類的例項

outter.inner in = new outter.inner();

2、靜態內部類可以直接訪問外部類的靜態成員,如果訪問外部類的例項成員,必須通過外部類的例項去訪問

3、在靜態內部類中可以定義靜態成員和例項成員

4、測試類可以通過完整的類名直接訪問靜態內部類的靜態成員

// 外部類

class outter

}}

java物件導向(內部類)

內部類 將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類 內建類,巢狀類 訪問特點 1,內部類可以直接訪問外部類中的成員,包括私有成員.2,而外部類要訪問內部類中的成員必須要建立內部類的物件.內部類的訪問規則 1,內部類可以直接訪問外部類的成員,包括私有.之所可以直接訪問外部類中的成員,是因為...

Java內部類 Java例項內部類

例項內部類是指沒有用 static 修飾的內部類。示例 如下 public class outer 上述示例中的 inner 類就是例項內部類。例項內部類有如下特點。1 在外部類的靜態方法和外部類以外的其他類中,必須通過外部類的例項建立內部類的例項。public class outer inner1...

java內部類和靜態內部類呼叫

內部類 public class test public static void main string args 呼叫方式 public class test2 靜態內部類 呼叫靜態內部類的非靜態方法 public class test public class test2 呼叫靜態內部類的靜態方...