神奇小超
2016-01-31 16:30
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();
}
}
只能说你看漏了
你执行的结果应该是
animal
Dog
动物具有吃东西的能力
因为子类创建的对象会先执行父类的构造方法然后才执行自己的构造方法,最后再调用父类的eat()方法输出“动物具有吃东西的能力”
因为继承的父类调用子类代码的时候是不能调用子类独有的方法的
你只要把你的Dog类中的方法Dog改名成Animal就可以了,这样就视为子类重写了父类的方法
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题
回答 4