不認路的河水の部落格
阿新 • • 發佈:2019-01-09
內部類
內部類從表面看是在一個類的內部又定義了一個類。
public class OuterClass {
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
class InnerClass{
public InnerClass(){
name = "yanujun";
}
}
}
1、為什麼要使用內部類
在我們程式設計中有時候會存在一些使用介面很難解決的問題,這個時候我們可以利用內部類提供的、可以繼承多個具體的或者抽象的類的能力來解決這些程式設計問題。可以這樣說,介面只是解決了部分問題,而內部類使得多重繼承的解決方案變得更加完整。
public interface Father {
}
public interface Mother {
}
public class Son implements Father, Mother {
}
public class Daughter implements Father{
class Mother_ implements Mother{
}
}
2、內部類的基礎
- 建立內部類例項
OuterClass outerClass = new OuterClass();
OuterClass.InnerClass innerClass = outerClass.new InnerClass();
- 內部類可以訪問外圍類的所有屬性
3、內部類的型別
內部類三種類型,成員內部類、區域性內部類和匿名內部類
- 1、成員內部類就是最常見的內部類,它可以訪問外圍類的所有方法和屬性。因為它是成員,所以它依賴外圍類的建立來建立,同時它不能有static方法和變數。
- 2、區域性內部類,它是定義在方法類面的內部類,它的作用範圍也僅限於方法內。
- 3、匿名內部類,