我有一个父类(super class)动物,它由猫、狗和狮子扩展。这三个都有一个代表它们声音的字段String sound
。 playSound(int i, String s) 方法播放声音 s, i 次。 Animal 父类(super class)中是否可以有一个通用方法,该方法接受调用它的子类的字段?或者我是否必须在每个类中创建一个单独的重写方法,用它们自己的“声音”变量调用 super ?
最佳答案
父类(super class)无法访问子类中的字段。这里通常的方法是创建一个抽象 getter:
protected abstract Sound getSound();
public void playSound(int times) {
for(int i=0; i<times; i++) {
getSound().play();
}
}
关于java - Java中是否可以从其父类(super class)调用子类的实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29730182/