我现在被困,不知道更容易解决这个问题,也许你可以帮助我.
我有一个名为Animal的接口和许多实现它的动物类.编辑:接口必须是错误的:
public interface Animals {
Integer lifespan = 0;
public Integer getLifespan();
}
Run Code Online (Sandbox Code Playgroud)
在一个函数中,我得到一些随机的动物对象,我想得到它的变量.
if (animal instanceof GuineaPig) {
lifespan = ((GuineaPig) animal).getLifespan();
age = ((GuineaPig) animal).getAge();
value = ((GuineaPig) animal).getValue();
}
if (animal instanceof Rabbit) {
lifespan = ((Rabbit) animal).getLifespan();
age = ((Rabbit) animal).getAge();
value = ((Rabbit) animal).getValue();
}
Run Code Online (Sandbox Code Playgroud)
现在我需要为每一种动物设置if子句,必须有一种更简单的方法,对吧?我究竟做错了什么?
EDIT2:完整的界面和类:
public interface Animals {
final Integer id = 0;
Integer prize = 999999;
Integer value = 0;
Integer age = 0;
Integer lifespan = 0;
String[] colors …Run Code Online (Sandbox Code Playgroud)