抽象类
抽象类为什么无法实例化,无法创建对象?
抽象类是:类和类之间有共同特征,将这些具有共同特征的类再进一步形成了抽象类。由于类本身是不存的,所以抽象类无法创建对象
1、什么是抽象类
类和类之间有共同特征,将这些具有共同特征的类再进一步形成了抽象类。由于类本身是不存的,所以抽象类无法创建对象【无法实例化】
2、抽象类属于什么类型?
抽象类也属于引用数据类型
3、抽象类怎么定义?
语法:
[修饰符列表] abstract class 类名{
类体;
}
4、抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。
5、final与abstract不能联合使用,这两个关键字是对立的
6、抽象类的子类可以是抽象类
7、抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。
8、抽象类关联到一个概念:抽象方法。
抽象方法表示没有实现的方法,没有方法体的方法。
例如:public abstract void doSome();
没有花括号
抽象方法特点是:
- 特点1:没有方法体,以分号结尾。
- 特点2:前面修饰符列表中有abstract关键字
9、抽象类中不一定有抽象方法,抽象方法必须在抽象类中。
重要结论:【必须背会】
一个非抽象的类继承抽象类,必须将抽象类中的抽象方法实现了。
这是java语法上强行规定的,必须的,否则编译器报错。
抽象类则不需要。
这里的覆盖或者重写,也可以叫做实现。(对抽象)
面向抽象编程
面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力
这种编程思想符合OCP原则。