接口与抽象类区别
接口与抽象类的共同点:
1、都不能被实例化
2、都可以包含抽象方法
3、都可以有默认的实现方法,(jdk8中可以用default关键字在接口中定义默认的方法)
区别:
1、接口主要对类的行为进行约束,实现某个接口就应该有对应的行为,web中的service层接口,serviceimpl必须实现所有方法。
2、抽象类主要用于代码复用,强调的是所属关系
3、一个类只能继承一个类,可以实现多个接口。
4、接口中的成员变量只能是public static final类型的,不能修改必须有初始值,而抽象类的成员默认为default,可以被重新定义,也可以被重新赋值。