java - 如何创建具有不同java类属性的对象

标签 java architecture

我有一个生物类,还有另一个扩展生物类的飞行类和不死类。如何创建一个同时具有飞行和不死属性的对象?

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

是否有其他方法可以做到这一点,或者我应该使用不同的方法?

最佳答案

在 Java 中,你不能拥有一个从多个父类(super class)继承的类。您最好使用接口(interface),因为您可以使用更多已实现的接口(interface)。 接口(interface)是类似于类的对象。在接口(interface)中,您可以拥有变量和方法,但应该在实现接口(interface)的类中定义方法和变量并为其赋值。 例如:

     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;
    }

使用名为FlyingUndeadCreature的界面也许你可以做你想做的事。

here您可以了解有关接口(interface)的更多信息。

关于java - 如何创建具有不同java类属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868944/

相关文章:

java - 无法在 Java API 中运行 Tensorflow 预测

java - 如何获取 JTable 中列标题的字体和图形

css - 如何理解别人的CSS架构?

javascript - 管理 Web 应用程序中全局需要的服务

database - 使用 ElasticSearch 作为事实来源

java - 在 Eclipse 中运行一个 CHILD,其中 PARENT 类具有 main 方法,但 CHILD 类本身只是一个没有 main 方法的类

java - 匹配行尾

asp.net-mvc - asp mvc : database calls and caching, 引入第四个实体?

wpf - MVVM 和多窗口

java - 设置drawString,使(0,0)位于绘图区域内