Java中的接口实现

时间:2015-03-23 06:51:53

标签: java interface

我在我的应用程序中使用Dao模式,我试图像这样使用泛型Dao:

interface IDao<I,T>{
    // CRUD operation
}

abstract class AbstractDaoImpl<I, T> implements IDao<I, T> {
    // reusable method
}

interface UserDao extends IDao<Integer,User>{
    // special method for UserDao
}

class UserDaoImpl  extends AbstractDaoImpl<Integer,User> implements UserDao {
}

请注意UserDaoImpl它实现UserDao(从IDao扩展)本身,同时扩展AbstractDaoImpl也实现了IDao,这使我成为{{1}}虽然接口有重复的实现。

我想知道这是否会引起任何潜在的问题?因为我不确定这是否是Java中可接受的做法。

1 个答案:

答案 0 :(得分:0)

不,这不会导致问题,因为接口不包含任何实现(至少在使用Java 8默认方法之前)。

Java不仅可以接受,而且通常的做法是分解出一般接口,只在必要时进行专门化。