结论:
1)
实例化子类时必须先实例化父类;
2) 抽象类中的方法调用子类实现的抽象方法
3) 抽象类可以在子类未实例化时调用子类实现的抽象方法;
4) 在抽象类的构造方法中调用了自己未实现的抽象方法,那么对应子类实现了此方法;在抽象类实例化之后,子类未实例化之前,抽象类可以调用子类实现的抽象方法。
代码如下:
package com.example;
public class Test {
public static void main(String[] args) {
new Child();
//结果:初始化父类---->child eat---->child jump---->初始化子类
}
}package com.example;
/**
* Created on 2017/5/5.
* Author:crs
* Description:XXX
*/
public class Child extends Parent {
public Child() {
System.out.println("实例化子类");
}
@Override
void eat() {
System.out.println("child eat");
}
@Override
void jump() {
System.out.println("child jump");
}
}
package com.example;
/**
* Created on 2017/5/5.
* Author:crs
* Description:XXX
*/
public class Child extends Parent {
public Child() {
System.out.println("实例化子类");
}
@Override
void eat() {
System.out.println("child eat");
}
@Override
void jump() {
System.out.println("child jump");
}
}
本文探讨了Java中抽象类与子类实例化的关键概念。主要讲解了实例化子类时如何处理父类与抽象方法的关系,包括在抽象类构造过程中调用未实现的抽象方法,并展示了一个具体的例子来说明这一过程。
1670





