abstract class与interface区别?
大致总结:
定义:声名方法而不去实现它的类叫做抽象类(abstract class);
接口(interface)是抽象类的变体。
区别:
1)、抽象类的方法可以是抽象方法,还可以包含具体数据和具体方法。接口中的方法不能实现,必须由继承的类来实现;接口只能定义static final成员变量。
2)、抽象类和接口都可以被继承,但类只能单一继承,而接口可以继承多个。
3)、通常接口用于平时常用功能,便于日后维护添加和删除功能;而抽象类充当公共方法的角色,不适用于日后重新对里面的代码进行修改。
4)、当一个类中包含一个或多个抽象方法的时候必须声明为抽象类。