抽象类的相关概念:
被abstract关键字修饰的类---抽象类
//格式:
abstract class 类名{
}
被abstract关键字修饰的方法---抽象方法
抽象方法没有方法体,且必须放在抽象类里
//格式:
abstract 返回值 方法名(参数列表);
特点:
1、一定使用abstract
2、抽象类中不一定有抽象方法
-------其意义为不让外界创建对象
3、抽象类不能被实例化
--------可以使用多态的思想去类赋值
4、抽象类中可以包含成员变量、方法,常量,构造方法,静态方法,代码块,静态代码块都可以。
抽象类的定义和使用规则如下:
-
抽象类和抽象方法都要使用 abstract 关键字声明。
-
如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
-
抽象类不能实例化,也就是不能使用 new 关键字创建对象。所以抽象类就是一个用类给子类服务的类
-
static和abstract是不能共存的,static是为了方便调用,abstract是为了给子类方法重写,没有方法体
-
final和abstract是冲突的,final修饰方法是不能重写的
-
private和abstract冲突,private修饰方法不能被继承,就不能被重写
抽象方法的 3 个特征如下:
1、抽象方法没有方法体
2、抽象方法必须存在于抽象类中
3、子类重写父类时,必须重写父类所有的抽象方法
注意:
在使用 abstract 关键字修饰抽象方法时不能使用 private 修饰,因为抽象方法必须被子类重写,而如果使用了 private 声明,则子类是无法重写的。