开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:抽象类】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/24/detail/498
抽象类
内容介绍
一、抽象类的实例化
一、抽象类的实例化
首先针对于抽象类应该有一个核心的认识:抽象类只是一个比普通类多了抽象方法的类而已,其它的结构上和普通类是差不多。
还有一个使用上的区别就是抽象类无法直接使用关键字new进行对象的实例化控制。
package cn.mldn.demo;
class A {
}
public class TestAbs {
public static void main( String[] args) {
a = new A() ;
}
}
普通类的最大的特征在于其定义了类的结构之后可以直接使用关键字 new 进行对象实例化,但是从继承的角度来看,普通类的继承里面对子类没有强制性约束。
所以如果现在某些方法必须要求子类来实现。
那么现在如果使用的是一个普通类,整个的设计就会非常的糟糕,所以在这样的状态下,我们认为需要去使用抽象类。
因为现在父类中也会包含有属性,而所有的属性必须通过构造执行之后才会进行内存空间的分配,那么父类(抽象类)也一定需要调用构造方法。
所有的关键字 new 调用构造方法实例化对象的部分都可以将其理解为"匿名对象"的语法( newB() )。