java为什么用abstract类实现接口
用抽象类实现接口,抽象类可以不用实现接口的方法,同时可以在抽象类中定义抽象的和不抽象的方法;
子类继承抽象类,必须实现抽象类中的抽象方法和接口定义的全部方法,同时子类可以直接继承父类的非抽象方法,这样继承使用,更加灵活,拓展性更好,代码更少。
例如:如果要拓展一个子类公用方法,可以直接在父类中添加实现,如果子类实现不同的方法,但是又要遵循统一接口的就可以在接口中定义,如果需要父类定义一个不完整的方法,就可以在父类中定义一个抽象方法,这样看起来,就比较灵活。
您看,是不是这个理?码农一枚,一起学习!
假如
B
是一个
抽象类
,
A
是一个
接口
那么,我想你是想问这句话
abstract class B implements A
吧。
被abstract修饰
B
的是一个抽象类,因此,他不用实现
A
申明的所有接口,他等着他的子类去实现,因此,这样做的好处是,子类可以专注自己的逻辑。而统一需要处理的事情可以在
B
中去做。
java8 引入了 default方法,可以减少abstract类的编写,但是仅限方法变量调用,涉及到类变量调用还得 定义统一抽象类。