首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8-接口不再抽象了吗?

Java 8-接口不再抽象了吗?
EN

Stack Overflow用户
提问于 2014-03-14 20:56:52
回答 2查看 353关注 0票数 6

到目前为止,Java接口还不能实现任何方法。根据定义,它们只是一个没有主体的方法签名的集合。

但是,Java 8似乎改变了这一点。

这是真的吗?什么是“默认方法”?什么是“功能接口”?有人介意给我解释一下吗?谷歌上的事情很令人困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-14 21:00:02

在Java8中,Interfaces现在可以有实际实现的default方法。这样做是为了帮助实现对Interface进行更改的用户避免出现问题,这样他们就不必更新所有的类。

通过将default关键字添加到方法签名中,可以添加此功能。

请参阅Java教程

票数 4
EN

Stack Overflow用户

发布于 2014-03-14 21:11:02

什么是“默认方法”?

默认方法为您提供了一种机制,可以将实现添加到接口中,而不使其成为抽象类。

默认方法的主要用例是将方法添加到接口中,而不破坏其他人的代码。但是,它们还允许您通过实现接口“混合”功能,这是Java类型系统的一个非常强大的附加功能,它只允许一行实现。

什么是“功能接口”?

另一方面,Functional是一种告诉编译器您的接口将有一个方法的方法。作为交换,编译器为定义接口实现提供了更短的语法,大大缩短了过去依赖于匿名类的代码。

除了上述两个特性之外,接口还允许您定义要在所有实现之间共享的静态函数。与默认实现一样,这为继承实现添加了“第二维度”,因为它允许您通过接口实现共享代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22415597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档