0

ブラウジング中に、汎用DAOインターフェースの次のコードを見つけました。

public interface GenericDAO<T, ID extends Serializable> {

    Class<T> getEntityClass();

    T findById(final ID id);

    List<T> findAll();
    List<T> findByExample(final T exampleInstance);

    List<T> findByNamedQuery(
        final String queryName,
        Object... params
    );

    List<T> findByNamedQueryAndNamedParams(
        final String queryName,
        final Map<String, ?extends Object> params
    );

    int countAll();

    int countByExample(final T exampleInstance);

    T save(final T entity);

    boolean delete(final T entity);
}

メソッドをデフォルトのアクセス修飾子 (クラス/パッケージ: はい、サブクラス/ワールド: いいえ) のままにする特別な理由はありますか?

PS: 追加の質問です。ID は通常、RDBMS (XML、フラット ファイルなど) に依存しない実装で見られますか?

4

1 に答える 1

8

インターフェイスのメソッドは暗黙的にパブリックです。したがって、 public 修飾子を使用することは冗長で不要です。

Checkstyle には、インターフェイス メソッドで public が使用されていないことを確認するルールもあります。

于 2011-08-15T16:49:11.547 に答える