我有一个包含动物类、狗和猫子类的基础代码。我有一个speak方法,该方法接收一个字符串,并以猫和狗的“语言”返回一个字符串。如果一个字符的ascii码是偶数,则返回“uff”,否则返回“vau”。当我覆盖这个方法时,我想从Dog类中设置oddSound和evenSound,但我找不到合适的方法来实现这一点。
这是Animal类的代码:
public String speak(String what){
String speakableString = new String();
String oddSound = new String();
String evenSound = new String();
for (int i = 0; i < what.length(); i++) {
if((((int) what.charAt(i)) & 1) == 1){
speakableString.concat(oddSound);
}else if ((((int) what.charAt(i)) & 1) == 0){
speakableString.concat(evenSound);
}
}
speakableString = speakableString.substring(0, speakableString.length()-1);
return speakableString;
}
这段代码来自Dog类:
public String speak(String what){
//set oddSound = "vau"
//set evenSound = "uff"
return super.speak(what);
}
.concat()
不会改变任何东西。 - SLaks.concat()
语句后问题仍然存在,请发布相关的继承代码。 - Kalle Richter