Tinking in java 有詳細的分析. java不支持多繼承﹐但可以用inner class實現這種功能 如﹕ class A 的 inner class AB 繼承了class B﹐但它是繼承了 class A的class T的內部類﹐所以它實現所有class A的方法。可以認為class AB繼承了 class A與 class B class T extends A { class AB extends B{ public AB(){ System.out.println("I'm AB"); fa(); fb(); } } public static void main(String[] s){ T t=new T(); t.new AB(); } } class A{ public A(){ System.out.println("I'm A"); } protected void fa(){ System.out.println("a method in A"); } }class B{ public B(){ System.out.println("I'm B"); } protected void fb(){ System.out.println("a method in B"); } }
看看下面这两偏文章吧
http://expert.csdn.net/Expert/topic/2603/2603862.xml?temp=.3570215
http://expert.csdn.net/Expert/topic/2646/2646219.xml?temp=.6766321
java不支持多繼承﹐但可以用inner class實現這種功能 如﹕
class A 的 inner class AB 繼承了class B﹐但它是繼承了 class A的class T的內部類﹐所以它實現所有class A的方法。可以認為class AB繼承了 class A與 class B
class T extends A
{
class AB extends B{
public AB(){
System.out.println("I'm AB");
fa();
fb();
}
} public static void main(String[] s){
T t=new T();
t.new AB();
}
}
class A{
public A(){
System.out.println("I'm A");
}
protected void fa(){
System.out.println("a method in A");
}
}class B{
public B(){
System.out.println("I'm B");
}
protected void fb(){
System.out.println("a method in B");
}
}