使用接受任何类作为参数的方法创建Java接口

时间:2014-11-14 08:46:08

标签: java hibernate jsf generics

我正在JSF中创建一个应用程序并使用hibernate。对于我想要执行CRUD操作的每个JSF页面。为了简化我的编码,我想创建一个具有四种方法来执行CRUD的接口。 我希望接口中的方法接受任何类作为参数。

以下是我的示例代码:

interface performCrud
{
    public void Create(Class cl);
    public void delete(Class cl);
    public void update(Class cl);
    public void read(Class cl);
}

class newuser implements performCrud
{

    @override
    public void Create(UserDao userdao)
    {

    }

    //Other implementations Follows

}

class newproduct implements performCrud
{

   @override
   public void Create(productDao productdao)
   {

   }

   // Other implementations Follows

}

1 个答案:

答案 0 :(得分:1)

如果我明白你的意思,你应该使用泛型:

interface performCrud<T>
{
    public void Create(T cl);
    public void delete(T cl);
    public void update(T cl);
    public T read();
}

class newuser implements performCrud<UserDao>{

    @override
    public void Create(UserDao userdao)
    {

    }
    ....
}

哦,顺便说一下,你的read方法可能应该返回T而不是接受T类型的参数。我相应地更改了界面。