【问题标题】:OOP Inheritance ExtendsOOP 继承扩展
【发布时间】:2017-05-18 18:55:25
【问题描述】:

获取阶段只运行一个摘要。我真的不知道为什么,天哪?

abstract public class Vehicle {
    public int nWheels = 0;
    public int VCapacity;

    // Set
    public void numWheels(int nWheels) {
        this.nWheels = nWheels;
    }
    public void VCapacity(int VCapacity) {
        this.VCapacity = VCapacity;
    }

    // Get
    public abstract int getWheels();
    public abstract int VCapacity();

    public Vehicle() { }

    public Vehicle(int nWheels, int VCapacity) {
        numWheels(nWheels);
        VCapacity(VCapacity);
    }
}

没有运行它说:

Bus 不是抽象的,并且不会覆盖 Vehicle 中的抽象方法 VCapacity()
公共类 Bus 扩展 Vehicle

【问题讨论】:

  • 您应该标准化您的实例变量名称,使其更简单,但更具描述性,例如wheelCountcapacity。用大写 V 为变量添加前缀不仅是不必要的(因为对象 Vehicle,而且它违反了 JavaBean 规范(以大写字母开头的实例变量)。
  • 是这样,所以以小写字母开头 okey 谢谢兄弟 :)

标签: java inheritance overriding abstract


【解决方案1】:

当你扩展abstract 类时,你需要重写父类中定义的方法。

public class Bus extends Vehicle {
    public Bus() {
        super(6, 4); // to set capacity use the Vehicle (int nWheels, int VCapacity) constructor
    }

    @Override
    public int VCapacity() {
    }
}

Vehicle 中它不接收参数。

【讨论】:

  • public int getWheels() { return this.nWheels; } @Override public int VCapacity(); public Bus () { super (6); }
  • 如何在代码中添加容量?
  • @CharlesJacob 设置容量使用Vehicle (int nWheels, int VCapacity) 构造函数public Bus () { super (6, 4); }
  • 你真棒的人哈哈哈哈哈谢谢你哈哈哈♥我希望你能在我的 Java 数组中帮助我老师太烂了 谢谢你这么多上帝保佑先生
  • @CharlesJacob 发布一个新问题,其中包含您遇到问题的代码以及问题所在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-23
  • 2017-03-16
相关资源
最近更新 更多