抽象类和接口的区别以及jdk1.8之后接口里面可以实现方法

约定不等于承诺〃 2021-11-02 14:14 224阅读 0赞

接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。

当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口。

第一点. 接口可以多继承,抽象类不行
第二点. 接口中,在jdk1.8之后可以用static和default去修饰方法并且实现,此时实现接口的子类可以调用default修饰的方法,接口名调用被static修饰的静态方法(default只能用于接口或者switch case上);而抽象类可以实现部分方法。
第四点. 接口中基本数据类型为static 而抽类象不是的。

如果A接口和B接口中有参数相同,方法名相同eat的抽象方法,C类去实现这两个接口,重写任意一个就行;

但如果A接口和B接口中有参数相同,方法名相同,方法体不同的被default修饰的方法,C类直接实现需要重写该方法,方法体里面

默认写法为:A.super.eat();调用其中任意一个接口中的方法,也可以改成B.super.eat();该写法只能是:C类实现的含有defaut修饰的方法的接口名.super.被default修饰的方法名();C类没有实现D接口,即使D接口中有defaut修饰的eat方法,也无法D.super.eat();

转载于:https://www.cnblogs.com/wenwenzuiniucha/p/11091187.html

发表评论

表情:
评论列表 (有 0 条评论,224人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象接口区别

    一、抽象类 1、概念:就将一些事物的共性进行抽象 如:麻雀、燕子都可以归为鸟;奔驰、宝马都可以归为车 2、那抽象类与普通类有什么区别呢? 别傻傻的纠结半天,

    相关 接口抽象区别

        接口是对动作的抽象,这个对象能做什么。抽象类是对根源的抽象,这个对象是什么(一个类只能继承一个类(正如人不可能同时是生物和非生物),但可以实现多个接口(吃饭接口、走路接