@tcxu 你好,想跟你请教个问题:
实现类实现接口,是不是也继承了接口的带方法体的默认方法?
含有抽象方法的类,必定是冠以关键字 abstract 的抽象类。极端情况,如果在一个类的定义中,包含的全部是抽象方法,那就只有是接口 interface。换言之,接口就是抽象类的极端情况。但是,这种说法,仅在 jdk1.8之前,成立。jdk 1.8 对接口又有了新规定:可以包括 冠以 关键词 default 的 缺省/默认方法。换言之,jdk 1.8 允许 给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。因此,从 java 8 起,类实现接口, 就可以像调用自己的成员方法一样,调用接口的带默认方法体的方法。如果某类实现了 interfaceA, 这个类就可以"继承" 接口默认的带方法体的方法 otherprint()。
是的
你这不是已经验证了吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
含有抽象方法的类,必定是冠以关键字 abstract 的抽象类。极端情况,如果在一个类的定义中,包含的全部是抽象方法,那就只有是接口 interface。换言之,接口就是抽象类的极端情况。但是,这种说法,仅在 jdk1.8之前,成立。
jdk 1.8 对接口又有了新规定:可以包括 冠以 关键词 default 的 缺省/默认方法。换言之,jdk 1.8 允许 给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。
因此,从 java 8 起,类实现接口, 就可以像调用自己的成员方法一样,调用接口的带默认方法体的方法。如果某类实现了 interfaceA, 这个类就可以"继承" 接口默认的带方法体的方法 otherprint()。
是的
你这不是已经验证了吗?