Java 当我们可以使用默认和静态方法时,接口如何提供100%的抽象?
如果我们可以在接口中使用默认和静态方法,并在其他类中实现它,那么我们怎么能说接口实现了100%的抽象呢 我们可以说接口实现了100%的抽象吗 我想我们仍然可以这么说。或者至少我们可以说,界面中的Java 当我们可以使用默认和静态方法时,接口如何提供100%的抽象?,java,oop,interface,abstraction,Java,Oop,Interface,Abstraction,如果我们可以在接口中使用默认和静态方法,并在其他类中实现它,那么我们怎么能说接口实现了100%的抽象呢 我们可以说接口实现了100%的抽象吗 我想我们仍然可以这么说。或者至少我们可以说,界面中的静态和默认并不会使实现100%抽象变得更加困难1 接口中的静态方法与类中的静态方法没有区别。在这两种情况下,方法API都是方法体中代码的抽象边界 对于default方法,我们可以使用相同的参数。方法体可以执行接口的所有子代的所有实例的实现所共有的操作,但细节仍然对调用方隐藏。这就是抽象边界 default
静态
和默认
并不会使实现100%抽象变得更加困难1
接口中的静态
方法与类中的静态
方法没有区别。在这两种情况下,方法API都是方法体中代码的抽象边界
对于default
方法,我们可以使用相同的参数。方法体可以执行接口的所有子代的所有实例的实现所共有的操作,但细节仍然对调用方隐藏。这就是抽象边界
default
和static
方法所做的是允许在继承图的更上层实现抽象边界。如果您正确地使用它们,这是一件好事,因为它可以删除冗余或重复的代码
1-由程序员来设计和实现API,使其不成为泄漏的抽象。仅仅使用界面并不能解决这个问题。你在书/教程中读过吗?如果是,请在上下文中引用它,并查看它是否引用Java的特定版本,或者如果不相关,请提供发布日期: