sg7610:
Javaの9のように、インターフェースのメソッドはprivateにすることができます。プライベートメソッドは、静的またはインスタンスメソッドすることができます。プライベートメソッドは、インタフェース自体の方法でのみ使用することができますので、その使用は、インターフェイスの他のメソッドのためのヘルパーメソッドであることに限定されています。
ケイ・S・ホーストマン、コアJavaのボリュームI - 基礎編
私たちは、プライベートメソッドに共通の機能を入れて、公衆にそれがアクセスすることはできませんことを取得します。しかし、我々は、ここでプライベートメソッドの2種類を持つことができます。
private
private static
使用private static
方法は理解しやすいですが、私たちが使うべきときprivate
な方法を?私たちは、これがインターフェイスであるとして、ここでの事例を扱っていないので、なぜ作成private
方法は許可されていますか?我々は必要としないprivate static
方法を?
jingx:
実際にはOPの質問に答えでOK、別の試み。あなたはプライベートメソッドからインターフェイス上の別の非静的メソッドを呼び出す必要がある場合には、民間の方法は、静的にすることはできません。例えば、民間の方法は、以下の静的だった場合、コンパイル・エラーが存在することになります。
public interface InterfaceWithMethods {
public default void doSomething() {
doSomethingCommon();
}
public default void doSomethingElse() {
doSomethingCommon();
}
public void actuallyDoSomething();
private void doSomethingCommon() {
System.out.println("Do something first.");
actuallyDoSomething();
}
}