初学java,不要见笑!
interface CanFly {
void fly();
}interface CanSwim {
void swim();
}interface CanFight{
void fight();
}class Action{
public void fight1()
{
System.out.println("fight");
}
}class hero extends Action implements CanFly,CanSwim,CanFight {
public void swim(){System.out.println("swim");}
public void fly(){System.out.println("fly");}
}}
public class TestMain{
public static void t(CanFight x){x.fight();}
public static void u(CanFly x){x.fly();}
public static void v(CanSwim x){x.swim();}
public static void w(Action x){x.fight();}
public static void main(String[] args) {
hero h = new hero();
t(h);
u(h);
v(h);
w(h);
}
}
这是thinginjava3上的一个例子! 不明白为什么不能这样写
class hero implements CanFly,CanSwim,CanFight {
public void swim(){System.out.println("swim");}
public void fly(){System.out.println("fly");}
public void fight(){System.out.println("fight");}}
interface CanFly {
void fly();
}interface CanSwim {
void swim();
}interface CanFight{
void fight();
}class Action{
public void fight1()
{
System.out.println("fight");
}
}class hero extends Action implements CanFly,CanSwim,CanFight {
public void swim(){System.out.println("swim");}
public void fly(){System.out.println("fly");}
}}
public class TestMain{
public static void t(CanFight x){x.fight();}
public static void u(CanFly x){x.fly();}
public static void v(CanSwim x){x.swim();}
public static void w(Action x){x.fight();}
public static void main(String[] args) {
hero h = new hero();
t(h);
u(h);
v(h);
w(h);
}
}
这是thinginjava3上的一个例子! 不明白为什么不能这样写
class hero implements CanFly,CanSwim,CanFight {
public void swim(){System.out.println("swim");}
public void fly(){System.out.println("fly");}
public void fight(){System.out.println("fight");}}
所以要通过interface
跟
class hero implements CanFly,CanSwim,CanFight
的区别?
java通过接口可以实现很多架构上的东西,继承有其有点,同样也有其缺点.这是不可避免的.
现在的j2ee架构的设计思想是面向接口变成,同时基于组件开发.希望这能对你的继承的理解.
------------------------------------------------------------------
不是吧?!那两个方法是不同名字的.
TIJ上面的程序只是例子而已,这个程序说明了单继承多实现.