Java對於多重繼承是怎麽實現的?
首先回答這個問題之前,我需要說明下什麽是繼承?什麽是多重繼承和單繼承?java采用何種機制來實現多重繼承:
1.1繼承是面向對象編程的壹種特性,是保留原有類功能的前提下拓展或改寫部分功能,實現代碼復用的方式.。
1.2單繼承就是壹個類只可以繼承自壹個父類,多繼承是指壹個類可以同時繼承多個父類。
1.3java中使用的是單繼承,也就是壹個類有且只能有壹個父類,java中可以使用接口實現來實現類似多繼承的效果。
2.下面著重介紹Java中如何實現多繼承:
如下是多重繼承示例:
interface CanFight{
void fight();?
}
interface CanSwim{
void swim();?
}
interface CanFly{
void fly();?
}
class ActionCharacter{
public void fight(){
System.out.println("I can fight!");
}
}
class Hero extends ActionCharacter implements CanFight,CanSwim,CanFly{
public void swim(){
System.out.println("I can swim!");
}
public void fly(){
System.out.println("I can fly!");
}?
}
public class Adventure {
public static void t(CanFight x){x.fight();
}
public static void u(CanSwim x){x.swim();
}
public static void v(CanFly x){x.fly();
}
public static void w(ActionCharacter x){x.fight();
}
public static void main(String[] args){
Hero h=new Hero();
t(h);
u(h);
v(h);
w(h);
}
}
從這個實例中,不能看出Java對於多繼承是如何實現的。
運行結果:
I can fight!?
I can swim!?
I can fly!?
I can fight!
以上就是Java對於多繼承是如何實現的說明