使用內部類

2022-09-12 20:27:15 字數 866 閱讀 2192

如果希望在外部類以外的地方使用內部類(包括靜態和非靜態),則內部類不能使用private訪問控制許可權(private修飾的內部類只能在外部類中使用)。

其他的內部類訪問控制符:

在外部類以外的地方定義靜態內部類:

public class outclass 

}class testinclass

}

在外部類以外的地方定義非靜態內部類

public class outclass 

}class testinclass

}

從上邊的**可以看出,非靜態內部類的構造器必須使用外部類物件來呼叫。

當建立乙個子類時,子類構造器會呼叫父類構造器,因此在建立非靜態內部類的子類時,必須保證,讓子類構造器能夠呼叫非靜態內部類的構造器,並且呼叫非靜態內部類的構造器時,必須存在乙個外部類物件。

public class inclasschild extends outclass.inclass 

}

非靜態內部類的子類不一定是內部類,但其子類一定會和自己一樣保留乙個對外部類的引用。

因為呼叫靜態內部類的構造器時無需使用外部類物件,所以建立靜態內部類的子類也比較簡單,下面**就靜態內部類inclass建立了乙個子類:

public class inclasschild extends outclass.inclass
內部類雖然是外部類的成員,但是不能被重寫,因外所持有的外部類不一樣,即使是靜態內部類,外部類也是作為命名空間一般的存在。

內部類 匿名內部類的使用

內部類的使用 classouter classinner public voidget a a public voidtest this.get newa public voidfun1 system.out println i public classtest public static void...

內部類使用

內部類可以擁有 private 訪問許可權 protected 訪問許可權 public 訪問許可權及包訪問許可權。比如上面的例子,如果成員內部類 inner 用 private 修飾,則只能在外部類的內部訪問,如果用 public 修飾,則任何地方都能訪問 如果用 protected 修飾,則只能...

內部類 成員內部類 區域性內部類 匿名內部類

public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...