【发布时间】:2015-12-08 21:57:11
【问题描述】:
我希望我能清楚地解释这一点。我有一个具有 eats 属性的动物(抽象类),这是一个字符串数组,表示每只动物可以吃什么。这就是我的动物课的样子。
public abstract class Animal {
String[] eats;
public Animal (String[] eats) {
this.eats = eats;
}
}
我还有一个狮子课,它扩展了我的动物课。规范告诉我,我的狮子会吃芹菜和牛排。我的lion类中的构造函数如下(有编译错误):
public Lion(String[] eats) {
this.eats = steak, celery;
}
我在一个食物类中创建了这两个食物对象,每个单独的食物项目都有一个指定的健康价值和废物价值。这是我的美食课:
public class Food {
int healthGain;
int wasteGain;
public static void main(String[] args) {
Food steak = new Food();
steak.healthGain = +3;
steak.wasteGain = 4;
//same but for celery instead
}
}
我真的很困惑,因为我应该为每只动物吃的食物提供一系列字符串,但是我创建了食物对象而不是字符串(规范没有要求我这样做,我只是看不到另一种方法它)。有一个更好的方法吗?或者我可以更改我的代码以使其编译吗?无论哪种方式,每只动物吃的食物都必须是一系列字符串。提前致谢。
【问题讨论】:
-
Food 类有什么用?你们学校最初的问题是什么?
标签: java string object inheritance