抽象类
首先针对抽象类应该有一个核心的认识:抽象类只是一个比普通类多了抽象方法的类而已,其它的结构上和普通类是差不多的。还有一个使用上的区别就是抽象类无法直接使用关键字new进行对象的实例化控制。
普通类最大的特征是,定义了类的结构之后可以直接使用关键字new进行对象实例化,但是从继承的角度来看,普通类的继承里面对子类没有强制性约束。
如果某些方法必须要求子类来实现,假如使用的是一个普通类,整个设计就会非常糟糕,所以在这样的状态下,我们认为需要使用抽象类。
因为现在父类中也会包含属性,而所有的属性必须通过构造执行之后才会进行内存空间的分配,所以父类(抽象类)也一定需要调用构造方法。
所有的关键字new调用构造方法实例化对象的部分都可以将其理解为匿名对象的语法。
更多专业知识,面试技巧就在阿里云开发者社区,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧