【问题标题】:How to declare subclass constructor in java如何在java中声明子类构造函数
【发布时间】:2014-06-09 21:27:11
【问题描述】:

我有一个抽象类,Entity.java。我还有一个扩展实体类的类 TransportUnit.java。实体将使用字符串名称和 int lifePoints 构建。运输单元将使用相同的集合以及另外一个空集合来构建。我的问题是如何为 TransportUnit 类编写构造函数,为什么?提前致谢。

【问题讨论】:

    标签: java constructor abstract-class extends super


    【解决方案1】:

    你可以用和普通构造函数差不多的方式来写它,只是调用super() 设置s;

    public TransportUnit(String name, int lifePoints){
      super(name, lifePoints);
      s = new HashSet(); //or other type of set
    
    }
    

    【讨论】:

    • 感谢您的回复。这对我来说很有意义,我可以看到它会起作用。然而,用特定的 Set s 构造一个 TransportUnit 似乎有点奇怪,然后才调用 's.clear();'。所以每个 TransportUnit 都会从同一个空集开始,那么为什么我们必须用一个 Set 来构造每个 TransportUnit。有没有解决的办法?谢谢。
    • 如果您不需要特定于实例的集合,则只需提供 2 arg 构造函数并在主体中实例化一个空集合。不需要第三个参数
    • @Jimmy 啊,那是我的错误,我没有完全理解规范。看看我上面的编辑。
    • 好的,这很有道理,谢谢你们的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2012-04-05
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多