(JAVA)实现类实现接口,是不是也继承了接口的带方法体的默认方法?

顺应天意了却凡尘 发布于 02/10 21:55
阅读 204
收藏 0

@tcxu 你好,想跟你请教个问题:

实现类实现接口,是不是也继承了接口的带方法体的默认方法?

加载中
0
丌官尚雄
丌官尚雄
你这不是已经验证了吗?
0
tcxu
tcxu

含有抽象方法的类,必定是冠以关键字 abstract 的抽象类。极端情况,如果在一个类的定义中,包含的全部是抽象方法,那就只有是接口 interface。换言之,接口就是抽象类的极端情况。但是,这种说法,仅在 jdk1.8之前,成立。
jdk 1.8 对接口又有了新规定:可以包括 冠以 关键词 default 的 缺省/默认方法。换言之,jdk 1.8 允许 给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。
因此,从 java 8 起,类实现接口, 就可以像调用自己的成员方法一样,调用接口的带默认方法体的方法。如果某类实现了 interfaceA, 这个类就可以"继承" 接口默认的带方法体的方法 otherprint()。

返回顶部
顶部