抽象方法
不具体的方法,对某一方法进行描述时无法对其执行过程进行具体的描述的方法。
抽象方法只知道其行为的名称,行为的特点,而对其行为无法进行具体描述
抽象方法的定义格式
abstract 返回值类型 方法名(参数列表);
抽象方法的特点
1. 有方法名
2. 有参数列表
3. 有返回值类型的设定
4. 没有方法体
5. 为方法添加abstract修饰符
抽象类
抽象类:可以包含不确定成员的类
抽象类中的不确定成员指抽象方法
抽象类的定义格式
abstract class 类名{
}
抽象类特点
抽象类是不让创建直接对象的
一个类继承了抽象类,要么覆盖抽象类中所有的抽象方法,要么声明为抽象类
抽象类与抽象方法之间的关系
抽象类中可以包含抽象方法,但不是必须包含抽象方法
一个类一旦包含了抽象方法,则必须将该类声明为抽象类
抽象类如何使用
由于抽象类中包含有不确定性的因素,因此抽象类在进行创建时无法对其对象成员进行内存划分,所以抽象类无法创建对象
虽然抽象类无法创建对象,但是,抽象类具有构造方法,仅留作为父类时被子类调用
抽象类通常被其他类继承,一个类继承抽象类后必须对抽象类中的全部方法进行覆盖,或者也声明为抽象类
修饰符的冲突问题
方法修饰符间的冲突问题
abstract 与 final
在修饰方法时,final表示不能被重写,而abstract修饰的方法如果想被调用则必须重写,所以两者不能共存
abstract 与 static
静态方法属性类,该方法不能被重写,只能被隐藏,所以static 与 abstract 不能共存
abstract 与 private
私有的方法不能被重写,同上原理,因此private与abstract也不能共存
类修饰符间的冲突
abstract 与 final
final修饰的类表示不能被继承,而abstract修饰的类如果不被继承将无法直接使用,故两者不能共存