所以我创建了一个名为“Food”的超类,它将一个名为“name”的String作为参数,我现在想创建一个名为“Meat”的继承类,并为该类提供它继承的“Meat”的名称来自美食课。这是我目前的尝试:
public class Meat extends Food
{
public Meat(String name) {
String meat = name;
}
public String getName() {
return name;
}
}
这是食品类:
public class Food {
//field that stores the name of the food
public String name;
//constructor that takes the name of the food as an argument
public Food(String name){
this.name = name;
}
public String getName() {
return name;
}
}
我目前还不确定如何写出Meat构造函数来指定名称。感谢任何帮助。谢谢。
答案 0 :(得分:2)
您需要从子构造函数调用超级构造函数:
public class Meat extends Food {
public Meat(String name) {
super(name);
}
}
答案 1 :(得分:0)
除非您覆盖方法或添加字段或方法,否则我看不到拥有Meat类的附加值。你可以把你的肉定义为食物:
Food meat = new Food("Meat");
但是如果你扩展了Food类,你的Meat类必须调用Food的一个构造函数。最简单的方法是使用具有相同签名的构造函数:
public Meat(String food){
super(food);
}
请注意,每个Java类都有一个构造函数。如果没有显式定义,则编译器会插入一个具有公共可见性且没有参数的构造函数。
答案 2 :(得分:0)
您无需对function hexStringToBuffer(hexString) {
var bytes = [];
for (var i = 0; i < hexString.length; i += 2)
bytes.push(parseInt(hexString.substr(i, 2), 16));
return new Buffer(bytes);
}
执行任何其他操作。
在Meat类中,您可以像这样创建构造函数:
getName()
但是如果你想覆盖它,那么你可以这样做:
public Meat(String name) {
super(name);
}
答案 3 :(得分:0)
如果我理解正确,你希望你所有的肉食对象都有&#34;肉&#34;作为名字。你应该这样做:
public class Meat extends Food {
public Meat() {
super("Meat");
}
}