我在我的父类(super class)中设置了一个方法...
public void explain() {
for (Item item: Instances) {
System.out.println(item.getname + " is in location " + item.place):
}
}
我需要在子类中重写相同的方法以打印出原始输出消息,但此方法的新实例需要打印出子类中设置的不同值
我对最重要的部分感到困惑(因为我对此知之甚少),并希望得到解释。
最佳答案
因此只需在基类参数中给出方法即可
public void explain(Instances i)
并在您的子类中调用它。您不需要重写任何内容,并且可以从基类中重用代码。或者,如果有一些更复杂的逻辑,您可以尝试 Template method pattern喜欢
基类
public abstract class Base {
public abstract explain(Instances i);
public void print(Item i) {
//do something
}
}
子类
public class Subclass extends Base {
@Override
public void explain(Instance instances) {
//do some logic and call print in loop
print(someItemfromInstances);
}
}
关于java - 重写父类(super class)中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548983/