一、抽象方法
抽象方法的作用:定义抽象方法后子代必须重写此方法,父类中的抽象方法不需要有方法体
抽象方法格式:public abstract 返回值类型 方法名(参数);
二、抽象类
抽象类:如果类中有抽象方法就需要把类定义为抽象类
抽象类格式:public abstract class 类名(){}
使用场景:当多个子类中有共性的方法,并且方法体不能确定时,可以把共性方法抽取到父类中,强制子类重写该方法。
public abstract class Person {
public abstract void work();
}
public class Student extends Person{
@Override
public void work() {
System.out.println("学习");
}
}
public class Teacher extends Person{
@Override
public void work() {
System.out.println("教书");
}
}
注意点:
①抽象类不能被创建对象
②有抽象方法的类一定是抽象类,抽象类不一定有抽象方法
③可以有构造方法(用于创建抽象类的子类)
④子类中要么重写全部的抽象方法,要么子类也是抽象类