gpt4 book ai didi

java - 当我们可以使用默认和静态方法时,接口(interface)如何提供 100% 的抽象?

转载 作者:行者123 更新时间:2023-12-04 10:14:40 24 4
gpt4 key购买 nike

如果我们可以在接口(interface)中使用默认和静态方法,并在其他类中实现,那怎么能说接口(interface)实现了100%的抽象呢?

最佳答案

Can we say that the interface achieve 100% abstraction?



我想我们还是可以这么说的。或者至少我们可以说 staticdefault在一个接口(interface)中不要让实现 100% 抽象变得更加困难1。

一个 static接口(interface)中的方法与 static 没有区别类中的方法。在这两种情况下,方法 API 都是方法主体中代码的抽象边界。

我们可以为 default 提出相同的论点方法。方法体可以做接口(interface)所有后代的所有实例的实现所共有的事情,但细节仍然对调用者隐藏。那是抽象边界。

什么 defaultstatic方法正在做的是允许抽象边界在继承图的上方进一步实现。如果您正确使用它们,这是一件好事,因为它正在删除冗余或重复的代码。

1 - 由程序员来设计和实现一个 API 以防止泄漏抽象。简单地使用接口(interface)并不能解决这个问题。

关于java - 当我们可以使用默认和静态方法时,接口(interface)如何提供 100% 的抽象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61134557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com