【发布时间】: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
【问题讨论】:
-
您应该标准化您的实例变量名称,使其更简单,但更具描述性,例如
wheelCount和capacity。用大写V为变量添加前缀不仅是不必要的(因为对象 是 Vehicle,而且它违反了 JavaBean 规范(以大写字母开头的实例变量)。 -
是这样,所以以小写字母开头 okey 谢谢兄弟 :)
标签: java inheritance overriding abstract