作者:Flyingis
內部類的功能在于,每個內部類都能獨立的繼承一個接口的實現,所以無論外圍類是否已經繼承了某個(接口的)實現,對于內部類都沒有影響。內部類使得多重繼承的解決方案變得完整,并且內部類允許繼承多個非接口類型(類或抽象類)。
interface Sa {
void today();
void yesterday();
boolean check();
}
public class Sab {
private i = 10;
private Sab_inner implements Sa {
void today() {
return i;
}
void yesterday() {
return --i;
}
Boolean check() {
return i = = 0;
}
}
public Sa getSa() {
return new Sab_inner();
}
}
從上面這段代碼可以看出,如果我們只是聲明外圍類Sab實現接口Sa,那么對于某個特定的Sab對象只能有一個Sa。但是如果使用了內部類,我們就可以通過方法getSa()來獲得一個實現Sa接口的序列,這樣就增加了應用上的靈活性。
在控制框架,特別是圖形用戶界面的設計中更能體現內部類的價值,具體的可以參考這方面的資料。