和視頻中相同的代碼為啥我的只顯示“動物具有吃東西的能力”
package project1;
public class Animal {
?public int age;
?public String name;
?public void eat(){
System.out.println("動物具有吃東西的能力");
?}
?public Animal(){
System.out.println("Animal");
?}
}
?
package project1;
public class Dog extends Animal {
public Dog(){
System.out.println("Dog");
}
}
package project1;
public class Initail {
public static void main(String[] args) {
Dog dog= new Dog();
dog.age=10;
dog.name="xiaotian";
dog.eat();
}
}
2016-02-05
只能說你看漏了
2016-02-01
你執行的結果應該是
animal
Dog
動物具有吃東西的能力
因為子類創建的對象會先執行父類的構造方法然后才執行自己的構造方法,最后再調用父類的eat()方法輸出“動物具有吃東西的能力”
2016-01-31
因為繼承的父類調用子類代碼的時候是不能調用子類獨有的方法的
你只要把你的Dog類中的方法Dog改名成Animal就可以了,這樣就視為子類重寫了父類的方法