在 Java 中显式调用默认方法
Java 8 在接口中引入了默认方法,无需修改现有实现即可实现接口扩展。但是,出现了一个问题:当某个方法被重写或由于不同接口中的多个默认实现而存在冲突时,我们是否可以显式调用该方法的默认实现?
考虑以下示例:
要从类 B 中的 afoo() 显式调用 A.foo() 的默认实现,我们可以使用语法:
这种方法允许我们访问该方法的原始默认实现,即使它已被覆盖或与其他默认实现存在冲突。
在更复杂的场景中,当多个接口包含同名的默认方法时,我们可以使用相同的语法来选择我们想要使用的具体默认实现:
通过显式通过调用默认方法,我们可以控制接口的扩展方式、解决冲突并根据需要访问原始实现,而不会破坏重写契约。这为基于界面的设计提供了灵活性和定制性。
以上是重写后如何显式调用 Java 接口的默认方法?的详细内容。更多信息请关注PHP中文网其他相关文章!