1、什么是抽象方法
我们先说一说面向对象的学习过程。
封装的思想,将对象的属性和行为封装在一个类中,方便进行赋值和调用。
随着定义的对象越来越多,人们发现一些对象有相同的属性和行为,于是把归属于一类的对象的一部分属性和行为抽取出来形成父类,这就是继承。
在继承的过程中,我们发现了一些问题,父类定义的行为有时不能满足子类的需求,这时我们就要在子类重写方法。
那么对于父类,我们不知道如何定义这个方法,我们就可以把它设置为抽象方法。
public abstract class Person {
public abstract void work();
}
2、抽象类的作用
抽取共性时,无法确定方法体,就把方法定义为抽象的。
强制让子类按照某种形式重写。
「在大型开发时,用抽象类定义在父类方法以防找不到子类方法」
抽象方法所在的类,必然是抽象类。
抽象类不一定要有抽象方法。
3、抽象方法和抽象类的格式
public abstract 返回值类型 方法名(参数列表);
public abstract class类名{}
4、继承抽象类有哪些需要注意
子类要么重写抽象类的所有抽象方法(常用)
要么定义为抽象类
抽象类无法被对象调用。但可以创建构造方法(在子类用super赋值)
抽象类无法创建对象。