Richmond1979 2010-06-29 15:49
浏览 175
已采纳

调用基类的构造函数

public class Animal {
public Animal(String aType) {
type = new String(aType);
}

public String toString() {
return "This is a " + type;
}

private String type;
}

public class Dog extends Animal {
public Dog(String aName) {
super("Dog");
name = aName;
breed = "Unknown";
}
public Dog(String aName, String aBreed) {
super("Dog");
name = aName;
breed = aBreed;
}

private String name;
private String breed;
}

public class TestBerived {
public static void main(String[] args) {
Dog aDog = new Dog("Fido", "Chihuahua");
Dog starDog = new Dog("Lassie");
System.out.println(aDog);
System.out.println(starDog);
}
}

输出结果是:
This is a Dog
This is a Dog

[size=x-small]请问调用基类的构造函数为何会隐含调用基类的toString方法呢?[/size]

  • 写回答

3条回答 默认 最新

  • weixin_42516107 2010-06-29 21:42
    关注

    [code="java"]
    public Dog(String aName) {
    super("Dog");
    name = aName;
    breed = "Unknown";
    }
    public Dog(String aName, String aBreed) {
    super("Dog");
    name = aName;
    breed = aBreed;
    }
    [/code]
    大哥,你在这里面 就把type赋值为"Dog",然后System.out.println(aDog),就会调用toString()方法了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?