public abstract class AbstractParent {
public AbstractParent() {
System.out.println("Hello,parent");
}
protected void earnMoney() {
prepare();
doJob();
}
protected abstract void doJob();
private void prepare() {
System.out.println("parent prepare");
}
}
class Child extends AbstractParent {
public Child() {
System.out.println("Child init");
}
@Override
protected void doJob() {
System.out.println("Child do job");
}
public static void main(String[] args) {
Child child = new Child();
child.earnMoney();
}
}
输出:
Hello,parent
Child init
parent prepare
Child do job