我想从超类继承特定实例,而不是全部。
例如:
public class Snake extends Reptile {
private boolean hasLegs = false;
public Snake(double[] legLength, double tailLength, String color, boolean hasScales, boolean hasLegs) {
super(legLength, tailLength, color, hasScales);
this.hasLegs = hasLegs;
}
我想从
Reptile
类继承所有实例变量,除了double[] legLength
(因为蛇没有腿)。如何在不更改Reptile类中的代码的情况下做到这一点?
谢谢。
最佳答案
我认为您是在问如何不必将不需要的所有参数传递给父类。您不能这样做,您需要全部传递它们,但这并不意味着您必须在子类中公开它们:
public Snake(double tailLength, String color, boolean hasScales) {
super(null, tailLength, color, hasScales);
this.hasLegs = false;
}
您不仅可以从父级那里获取一些变量,还可以全部获取。您可以将它们设置为对子类有意义的值。这就是重点!
关于java - 如何在Java中继承特定的实例变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60031093/