public class Item {
String name;
int weight;
String examine;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setWeight(int weight){
this.weight = weight;
}
public int getWeight() {
return weight;
}
public void examine(){
System.out.println("item: " + getName() + "\n" + "weight: " + getWeight() + "\n");
}
所以,这些是我的代码。 examine()方法将打印出名称和权重变量。但是,如果另一个类继承自此类,如果继承该方法,如何使该方法也打印出其他属性。 例如,如果我创建一个具有“防御”字段的防御类,并且防御类继承自Item类,那么如何使examine()打印出“防御”字段的属性。
答案 0 :(得分:1)
在你的防御类中,你将有一个名为examine()的方法,它将覆盖超类方法。如果你想要它也打印超类检查试试这个。
//In a separate class
public class Defense extends Item{
//Defense methods
public void examine(){
super.examine(); //This will call the super method examine(), which you declared in the Item class.
//Print whatever you want from the defense class
}
}
编辑1:
有关继承的更多信息,请参阅https://www.tutorialspoint.com/java/java_inheritance.htm以获得简单易懂的教程
答案 1 :(得分:0)
你可以这样继承:
public class GoodItem extends Item {
int defense;
public int getDefense() {
return defense;
}
public void setDefense(int defense) {
this.defense = defense;
}
public void examine(){
System.out.println("item: " + getName() + "\n" + "weight: " + getWeight() + "\n" + getDefense());
}
}
在GoodItem对象上调用examine()将返回一个专门的输出 - 这个派生类是唯一的。