首页 > 解决方案 > 在接口 Java 中创建私有方法的正确方法

问题描述

我正在使用一个数据库,我创建了一个名为 Dao 的公共接口,它从 AutoCloseabe 扩展,所以我有一个实现这个接口的类,但我想在那里创建一些私有方法,但它们仍然需要 Autocloseable。所以我的问题是,我不能在接口中创建私有方法而不在接口中定义它们。如果我在类中创建了一个私有方法但没有从 Dao 覆盖,会发生什么情况?他们不会自动关闭,对吗?如果没有,我可以实施哪种解决方案?

标签: javadao

解决方案


在 Java 9 中引入接口中的私有方法的动机与在任何其他类主体中使用私有方法的原因相同。它允许您将代码分解为不可继承的可重用、可管理的方法:

default public boolean tryHeads() {
    return flip();
}

default public boolean tryTails() {
    return !flip();
}

private boolean flip() {
    return ThreadLocalRandom.current().nextBoolean();
}

这过于简单化了。但是请参阅我的类似问题以获得更多见解。


推荐阅读