**
interface 和 abstract class 的区别?
**
相同点:
a. 两者都是抽象类,都不能实例化。
b. interface 实现类和 abstract class 子类都必须实现已经声明的抽象方法。
不同点:
a. interface需要实现,要用 implements,abstract class 需要继承,要用 extends。
b. 一个类中可以实现多个 interface,而一个类中只能继承一个 abstract class。
c. interface 强调特定功能的实现,而 abstract class 强调所属关系。
d. 尽管 interface 实现类和 abstract class 的子类都要实现相应的抽象方法,但实现的形式不同。interface 中的方法都是抽象方法,都只是声明(没有方法体),实现类都必须要实现,而 abstract class 的子类可以有选择的实现。
ps:本文只是为了检验自己的记忆成果,如有冒犯,请勿喷,谢谢!