首先创建几个类 1) Animal接口 2)Dog类 3)LittleDog类
在Animal接口中定义几个方法
public interface Animal {
public void eat();
public String sleep();
}
创建Dog类,实现Animal接口
public class Dog implements Animal{
public Dog() {
System.out.println("Dog 对象的构造方法被执行了");
}
@Override
public void eat() {
System.out.println("Dog 的吃的方法执行了");
}
@Override
public String sleep() {
System.out.print("Dog 的睡觉的方法执行了");
return "Dog Sleep";
}
}
创建LittleDog 类继承父类Dog
public class LittleDog extends Dog {
public LittleDog() {
System.out.println("LittleDog 对象的构造方法被执行了");
}
public void play() {
System.out.println("LittleDog 对象的play 方法执行了");
}
}
创建LittleDog 对象,执行其中的方法,对运行结果进行测试
public class AnimalTest {
public static void main(String[] args) {
LittleDog littleDog = new LittleDog();
littleDog.eat();
littleDog.play();
}
}
执行结果如下
现总结如下:
1、子类继承父类,再创建子类对象的时候,会从最顶端的父类的构造方法开始执行,知道执行到当前创建对象的构造方法。
2、调用子类中没有显式声明的方法,它会去他的父类中找对应的方法,如果父类中没有就向它的祖父中取找,知道找到最顶端Object,如果还是没有找到,那么抛出异常。
3、如果在子类的独有的方法中用到了父类,或者某个祖宗类的方法,那么会按照代码书写的先后顺序,先后执行。