首先,父类有一个抽象方法,并且在自身的其他方法中调用了
public abstract class Baba {
public abstract void say(String a);
public void dosomething(String a){
say(a);
}
}
父类 baba,有一个say抽象方法,没有实现,并且在dosomething中调用了。如果直接调用dosomething方法必然报错了
public class Erzi extends Baba {
public void say(String a) {
System.out.println(a);
}
public static void main(String[] args) {
Erzi e=new Erzi();
e.dosomething("aaa");
}
}
子类继承父类,并实现了父类的抽象方法
在子类中直接调用父类的dosomething方法,实际上调用的是子类自己实现的say方法
应用于,父类中比如需要某个subject,但不知道如何创建,留下一个抽象方法,就直接使用,具体怎么创建就让子类来实现,父类不能直接使用
,当你在子类中调用父类的方法时,实际上大部分逻辑父类已经帮你处理好了,子类只要传入特定的对象就可以了