java - 在接口 Java 中创建私有方法的正确方法
问题描述
我正在使用一个数据库,我创建了一个名为 Dao 的公共接口,它从 AutoCloseabe 扩展,所以我有一个实现这个接口的类,但我想在那里创建一些私有方法,但它们仍然需要 Autocloseable。所以我的问题是,我不能在接口中创建私有方法而不在接口中定义它们。如果我在类中创建了一个私有方法但没有从 Dao 覆盖,会发生什么情况?他们不会自动关闭,对吗?如果没有,我可以实施哪种解决方案?
解决方案
在 Java 9 中引入接口中的私有方法的动机与在任何其他类主体中使用私有方法的原因相同。它允许您将代码分解为不可继承的可重用、可管理的方法:
default public boolean tryHeads() {
return flip();
}
default public boolean tryTails() {
return !flip();
}
private boolean flip() {
return ThreadLocalRandom.current().nextBoolean();
}
这过于简单化了。但是请参阅我的类似问题以获得更多见解。
推荐阅读
- objective-c - 在 macOS 10.14 中使用 clang 编译 Objective-C?
- php - Symfony 文件夹中缺少帮助程序类
- bash - 如何将一系列关联数组的键设置为一个值
- python-3.x - 我希望在 on_raw_reaction 中为某个功能进行冷却
- r - 如何用 sapply 摆脱这个嵌套循环?
- python - 拒绝scrapy linkextractor中的某些链接
- swift - 如何在 ARKit 3.0 中启用“景深”选项?
- python - 用 numpy 重塑多维数组
- python-2.7 - 减少行为怪异
- javascript - 三个 JS - 获得相反方向的鼠标?