java 幾種內部類(基礎)
阿新 • • 發佈:2021-08-10
java 內部類(基礎)
內部類就是在一個類的內部定義一個類。比如在A中定義了一個B類,那麼B類性對於A類來說就稱為內部類。而A類相對於B類來說就是外部類了。
1、成員內部類
2、靜態內部類
3、區域性內部類
4、匿名內部類‘
成員內部類
當某個類除了他的外部類。不會被其他類使用時應該選擇使用成員內部類。
public class Outer { private int id = 10; public void out(){ System.out.println("這是外部類的方法"); } public class Inner{ public void in(){ System.out.println("這是內部類的方法"); }
我們可以使用成員內部類來獲得外部的某些私有的屬性
比如獲取上面程式碼私有屬性ID
public void getID(){
System.out.println(id);
}
區域性內部類
區域性內部類寫在外部類的某個程式碼塊或者方法塊中,如果只在某個方法或塊中建立這個類的某些物件,可以使用區域性內部類。
匿名內部類
匿名內部類是在new的後面,可以用來實現一個介面或者繼承一個類。
靜態內部類
在宣告的類的時候加上static關鍵字,他與外部類的屬性,方法是並列關係。
程式碼示例
package oop.demo05; //首先定義一個類 public class Outer { private int id = 10; public void out(){ System.out.println("這是外部類的方法"); } public class Inner{ public void in(){ System.out.println("這是內部類的方法"); } //可以獲得外部類的私有屬性 public void getID(){ System.out.println(id); } } } //寫一個應有類,呼叫類中的方法 package oop; import oop.demo05.Outer; //型別之間的轉換 public class Application { public static void main(String[] args) { //new 出這個方法 Outer outer = new Outer(); //通過這個外部類來例項化內部類 Outer.Inner inner = outer.new Inner(); inner.in(); } }
package oop;
import oop.demo05.Outer;
//型別之間的轉換
public class Application {
public static void main(String[] args) {
//new 出這個方法
Outer outer = new Outer();
//通過這個外部類來例項化內部類
Outer.Inner inner = outer.new Inner();
inner.in();
}
}
//一個類中只能有一個public類,但可以有多個class檔案 class A{ class B{ } }
有錯誤請指正