美文网首页软件测试
接口和抽象类区别以及extends和implements区别

接口和抽象类区别以及extends和implements区别

作者: 张鹏宇_42ef | 来源:发表于2018-10-15 14:12 被阅读0次

一 接口和抽象类的相似性

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

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

二 接口和抽象类的区别

1 接口里只能包含抽象方法,静态方法和默认方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法。

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

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

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

5 接口里不能包含初始化块,但抽象类里完全可以包含初始化块。

二:extends与implements的不同

1、在类的声明中,通过关键字extends来创建一个类的子类。

一个类通过关键字implements声明自己使用一个或者多个接口。

extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法;

implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用

2、extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承

JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,

但implements可以实现多个接口,用逗号分开就行了 比如 :

class A extends B implements C,D,E

相关文章

  • 接口和抽象类区别以及extends和implements区别

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

  • Java基础语言学习

    extends 和 implements 的区别 extends是继承类,implements是实现接口。类只能继...

  • Flutter进阶

    1.extends 抽象类和 implements抽象类区别抽象类 是一种规范标准,是不能被实例化。比如第三方sd...

  • implements与extends的区别

    implements与extends的区别? implements 的意思更接近“实现”,比如实现一个接口的方法。...

  • implements和extends的区别

    1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一...

  • java面试题集(三)

    32、接口是否可继承(extends)接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体...

  • Thread

    extends Thread 和 implements Runable区别thread通过继承Thread实现的类...

  • extends implements区别

    extends与implements的不同 1、在类的声明中,通过关键字extends来创建一个类的子类。 一个类...

  • extends和implements区别-Java基础

    extends与implements的不同 1、在类的声明中,通过关键字extends来创建一个类的子类。 一个类...

  • 2020-03-23

    1、with(Mixin) implements(abstract) abstract extends区别 Ex...

网友评论

    本文标题:接口和抽象类区别以及extends和implements区别

    本文链接:https://www.haomeiwen.com/subject/jusfzftx.html