我使用过代码:
//change size of raven
birdsByKey.get(instructions[0]).SizeRaven(newSize);
为了尝试改变乌鸦的大小。
如何使用以下方法(在课堂上#34; Raven")?
答案 0 :(得分:2)
birdsByKey.get()
将返回Bird
。 Bird
没有changeRavenSize()
方法(因为这是Raven独有的)。
您需要以下内容:
Bird b = birdsByKey.get(instructions[0]);
if (b instanceof Raven) {
Raven r = (Raven)b;
r.changeSizeRaven(newSize);
}
正如EJP所提到的,你真的想要changeSize()
Bird
Raven
方法birdsByKey.get(instructions[0]).changeSize(newSize);
将覆盖。然后您的代码变为
{{1}}
每次添加新型鸟类时需要编辑的第一种方式。第二种方式只是添加尽可能多的鸟类,它只会继续工作......