1.语义不同
抽象类是对事物本身的抽象,接口为其他类提供通用方法,不考虑语义层次的继承与实现关系。
示例:
抽象类:门
public abstract Door{}
子 类:木门,铁门
public class WoodDoor extends Door{}
public class IronDoor extends Door{}
接 口:铃铛
public interface Bell {}
子 类:可以响铃的木门,实现响铃方法
public class WoodDoor extends Door,implements Bell{}
2.继承性
一个类可以继承多个接口,却不能继承多个抽象类。
3.字段属性
接口中定义的字段,系统默认final,static,没有get(),set()属性;
抽象类中中定义的字段与一般类中定义的字段无差别。