大体区别如下:
- 抽象类可以提供成员方法的实现细节,而接口中只能存在 public 抽象方法;
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的;
- 接口中不能含有构造器、静态代码块以及静态方法,而抽象类可以有构造器、静态代码块和静态方法;
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口;
- 抽象类访问速度比接口速度要快,因为接口需要时间去寻找在类中具体实现的方法;
- 如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。如果你往接口中添加方法,那么你必须改变实现该接口的类。
网友评论