接口与抽象类

该文章发布于 ,归类于 Java 0 条评论

异同点

  1. 接口里只能包含抽象方法,不包含已提供实现的方法;抽象类可以包含以实现的方法。

  2. 接口不能定义静态方法;抽象类中可以定义静态方法,但是应该是普通方法才行。

  3. 接口只能定义静态常量Field,不能定义普通Field;抽象类里既可以定义普通Field,也可以定义静态常量Field。

  4. 接口不包含构造器;抽象类可以包含构造器,但是抽象类的构造器不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。

  5. 接口里不能包含初始化;但是抽象类可以包含初始化块。

  6. 一个类最多只能有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口可以弥补Java单继承的不足。

相关文章