JAVA.抽象类与接口的几个特点与异同

2022-08-15 教育 69阅读

相似:

  1. 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。

  2. 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。

区别:

  1. 抽象类中可以存在非抽象的方法;接口中的方法默认全是抽象方法,不能存在非抽象方法。

  2. 抽象类里则既可以定义普通成员变量,也可以定义静态常量;接口中只能定义定义静态常量。

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

  4. 抽象类里可以包含初始化代码块;接口里不能包含初始化代码块。

  5. 实现抽象类的方法时, 如果方法是抽象的,子类必须重写抽象的方法.
    如果方法不是抽象的, 子类可以选择继承;实现接口必须实现接口中的所有方法。

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

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com