Java代码编译但不显示toString方法。我需要在子类中调用它吗?或者是否有一种不同的方式让toString显示实例变量?
public class Animal {
//instance variables
private int numberOfLegs;
private boolean sleep;
//Default Constructor
public Animal() {
numberOfLegs = 6;
sleep = true;
}
// Constructor
public Animal(int numberOfLegs, boolean sleep){
this.numberOfLegs = numberOfLegs;
this.sleep = sleep;
}
//toString method
public String toString (int numberOfLegs, boolean sleep){
return numberOfLegs + " legs, sleep: " + sleep;
}
//walk method
void walk(){
System.out.print("walking ");
}
public static void main(String[] args) {
Animal animal1 = new Tiger();
animal1.walk();
animal1.toString(4, false);
} //end main
}// end animalclass
class Tiger extends Animal {
void walk(){
super.walk();
System.out.println("a Tiger");
}
public Tiger(){
super();
}
} //end Tiger class
答案 0 :(得分:0)
toString()
返回一个String
。它不执行任何显示逻辑(与您打印事物并且不返回任何内容的walk()
方法不同)。
您需要使用System.out.println()
或其他方式显示它。
toString()
方法也不应该采用参数。你已经知道动物有多少腿了,所以参数都没用。