java中的接口和抽象类的区别
1、接口从用户的角度(使用实现的代码)看问题。
2、接口由编译器强制的一个模块间协作的合约。
3、无成员变量。
4、成员函数只能声明不能实现,(jdk1.8中的default 方法可以有方法体)。
接口和抽象类的区别:
1、抽象类可以有成员变量,
2、可以有部分实现;
3、抽象类不可以多继承,接口可以;
4、使用抽象类是使用继承的方式,但是只能单继承, 而接口是使用实现的方式实现的,并且可以多重实现;
5、从用户的角度看问题, 强调合约,强制协作的双方不能犯错。