Ejbインターフェースの1つで次のコードを見つけました。アブストラクトがインターフェースで何をするか知っている人はいますか?もしそうなら、なぜそれが必要になるのかを説明するか、それについて読むための参照を提供してください=)
@Local
public interface IDomasOrderProcessor {
public abstract void executeOrderLines(List<OrderLine> lines);
public abstract void setupJob(List<OrderLine> lines);
public abstract void setupJob(OrderLine line);
}
この場合、abstract
は冗長です。 interface
で定義されているすべてのメソッドは、定義上、public
とabstract
です。
インターフェイスの本体のすべてのメソッド宣言は暗黙的に抽象的であるため、その本体は常にブロックではなくセミコロンで表されます。
インターフェイス本体のすべてのメソッド宣言は暗黙的にパブリックです。
public
修飾子とabstract
修飾子はどちらもインターフェイスに暗黙的に含まれているため、避ける必要があります。
インターフェイスのメソッドは、定義上、パブリックで抽象的です。そのように明示的に宣言することで明確になると感じる人もいますが、私には余分なノイズのように思えます。
this 文書によると、interface
のすべてのメソッドはpublic
とabstract
であるため、明示的にabstract
を定義する意味はありません。 interface
内のメソッド。