我在浏览时发现了通用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);
}
是否有任何理由特别留下具有默认访问修饰符的方法(class / package:yes,subclass / world:no)?
P.S:另一个问题。 ID通常是在不依赖于RDBMS(XML,平面文件......)的实现中找到的吗?答案 0 :(得分:8)
接口的方法是隐式公开的。使用public修饰符是多余的,也是不必要的。
Checkstyle even has a rule检查接口方法中是否使用了public。