用一句话总结抽象类的作用就是:降低接口实现类与接口之间的实现难度。
下边给出例子进行说明:
假设定义一个校级学生守则的接口SchoolSta,里边有两个方法,一个是开除,一个是扣学分
public interface SchoolSta{
//定义两个方法:开除和扣学分
public void kaiChu();
public void kouXueFen();
}
但是学生会觉得开除这个不太合理,不想继承这个方法,所以就可以通过抽象类来作为中介,因为抽象类在实现接口的时候不必对接口中的所有方法进行重写继承,可以进行选择
所以我们通过一个定义一个抽象类班级学生守则ClassSta来对接口进行实现,只选择重写扣学分的方法
public abstract class ClassSta implements SchoolSta{
//只选择重写接口中的扣学分方法
public void kouXueFen(){
}
}
然后student就可以继承班级学生准则了,这样就没有开除的方法了
public class Student extends ClassSta{
public void kouXueFen(){
}
}
注意:继承抽象类时,里边的方法都要全部进行重写