java - Java 8 中需要默认方法实现
解决方案
原始问题的提问者 M Sach 说,不是默认方法,而是将默认实现放在抽象类中。
回答者 Eran 说这会破坏现有的代码。
例如,假设您有自己的List
用 Java 7 编写的实现,它不继承自AbstractList
. 当您将代码迁移到 Java 8 时,会发生什么?接口中突然出现了一堆List
你自己的List
实现没有的新方法(这些方法的“默认”实现在AbstractList
,你的类没有继承)!您的代码将不再编译。
这意味着当迁移到 Java 8 时,您可能必须为现有类编写新方法。
但是,使用默认方法时,默认实现是在接口本身中,因此您不必编写新方法。
推荐阅读
- java - 如何在 Redis 中缓存嵌套字典以供用 Python 和 Java 编写的应用程序使用
- angular - Angular 9:放置文件未触发
- java - 从文件列表创建 zip(包括路径文件夹)
- asp.net-core - ASP.NET Core 中的开发证书身份验证问题
- reactjs - 在“POST”请求中,我的 createPost Thunk 函数给出错误 {type: "post/createPost/pending", payload: undefined}
- javascript - 切换到另一个后如何更改文本输入边框颜色
- python - 如何在 docker 中运行 pytorch 模型服务器?
- angular - Angular 导航丢失 main.js 等
- javascript - 循环中的同步 Ajax - 阻塞问题
- vue.js - 在 Vue CLI 中更改 Sass 值或导入