我有一个类生物与另一类飞行和亡灵延伸生物。我怎样才能创建一个同时具有Flying和Undead属性的对象?
class Creature(){
String name;
public Creature(String name){
this.name=name;
}
class Flying extends Creature{
...
}
class Undead extends Creature{
...
}
Object creature = new Object();//Both Flying and Undead
是否有另一种方法可以做到这一点,还是应该采用不同的方法?
答案 0 :(得分:2)
在Java中,您不能拥有从多个超类继承的类。您最好使用Interfaces,因为您可以使用更多实现的接口。 接口是类似于类的对象。在接口中,您可以拥有变量和方法,应该在实现接口的类中完成对方法和变量的定义和赋值。 例如:
Interface MyInterface
{
int myVar;
void myMethod (int var);
}
class MyClass implements MyInterface // with comma(,) you can separate multiple interfaces
{
void myMethod (int var) {//do something}
int myVar = 1;
}
使用名为 Flying 和 Undead 或 Creature 的接口,你可以做你想做的事。
here您可以了解有关接口的更多信息。