抽象类abstract
一.什么是抽象类?
类和类之间具有共同特征,将这些特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。
二.抽象类属于什么类型?
引用数据类型。
三.抽象类怎么定义?
在class前添加abstract关键字就行了。
【修饰符列表/public】 abstract class 类名{ 类体; }
四.抽象类的作用
抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。(可以被类继承,也可以被接口实现)
五.final和abstract
final和abstract不能联合使用,这两个关键字是对立的。
六.抽象类的子类
抽象类的子类可以是抽象类,也可以是非抽象类。
七.抽象类的构造方法
抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。
八.抽象方法
抽象类中不一定有抽象方法,但是抽象方法必须出现在抽象类中
抽象类中可以放非抽象方法和抽象方法。只是至少有一个是抽象方法即可。
九.抽象方法怎么定义?
public abstract void doSome();
十.一个非抽象的类,继承抽象类,必须将抽象类中的抽象方法进行覆盖/重写/实现。
怎么覆盖?
覆盖方法,将抽象方法中abstract去掉,后面加上大括号。
结论:一个非抽象的类继承抽象类,必须将抽象类中的抽象方法实现了,这是java语法上强行规定的,不然编译报错。
实现就是覆盖或者重写。
注意:到目前为止,只是学习了抽象类的基础语法,一个类到底声明为抽象还是非抽象,这个以后慢慢来吧,写代码多的时候,自
然就理解了。#java#