我知道抽象类和具体类之间的区别很少。我知道与具体类不同,您不能使用抽象类创建实例,抽象类可以具有“抽象”方法。
但我有一个像下面这样的例子。很多时候,我们在工作中看到以下示例。我将跳过一些可以在 Parent 类中定义的常用方法。
public abstract class Parent {
public void init() {
doInit();
}
public abstract void doInit();
}
public class Child extends Parent {
public void doInit() {
// implementation
}
}
我认为我们可以用如下的具体类做同样的事情。
public class Parent {
public void init() {
doInit();
}
public void doInit() {
// Empty
}
}
我很好奇是否有任何独特的情况需要我们使用抽象类。上面的例子在运行时有什么显着差异吗?
谢谢你。