1. 程式人生 > >java利用內部類實現多重繼承

java利用內部類實現多重繼承

 

 
利用內部類可以實現多重繼承關係 :
如下:

class D {}
abstract class E{}
class Z extends D {
E makeE(){ return new E() {}; }
}


public class MultiImplementation {
static void takesD(D d) {}
static void takesE(E e) {}
public static void main(String[] args){
Z z = new Z();
takesD(z);
takesE(z.makeE());
}
}
如上:既可以實現多重繼承。
內部類的好處:

1. 內部類可以有多個例項,每個例項都有自己的狀態資訊,並且與其外圍類對
象的資訊相互獨立。
2. 在單個外圍類中,你可以讓多個內部類以不同的方式實現同一個介面,或繼
承同一個類。稍後就會展示一個這樣的例子。
3. 建立內部類物件的時刻並不依賴於外圍類物件的建立。
4. 內部類並沒有令人迷惑的“is-a”關係;它就是一個獨立的實體。