我在浏览时发现了通用 DAO 接口(interface)的代码:
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);
}
是否有任何特别的理由让方法保留默认访问修饰符(类/包:是,子类/世界:否)?
P.S:一个补充问题。 ID 通常可以在不依赖于 RDBMS(XML、平面文件...)的实现中找到吗?
最佳答案
接口(interface)的方法是隐式公共(public)的。因此,使用 public 修饰符是多余且不必要的。
Checkstyle even has a rule检查接口(interface)方法中是否未使用 public。
关于java - 为什么要对通用 DAO 接口(interface)中的方法使用默认访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067915/