目录
问题:
今天刷面经,发现自己还是不理解为什么抽象类不可以被实例化,特此记录。
原因:
从设计哲学的角度,抽象类主要是作为子类的基类,提供一种“模板”或者是“规范”,规定了子类必须遵守的规则,而不是一个可以直接用的实体。
- 抽象类 更强调 是什么 而不是怎么做。
- 具体的实现由子类进行完成,抽象类不具备独立存在的意义。
如何 “实例化” 抽象类
public class TestAbstractClass extends AbstractClass{
public TestAbstractClass(){
//通过子类的构造方法,去调用父类的构造器,来完成 所谓的“实例化”
super();
}
@Override
public void Print() {
}
}
public abstract class AbstractClass {
public AbstractClass(){
}
public abstract void Print();
}