实现不同的数据类型

时间:2015-08-13 19:04:57

标签: java

我有2个类只是称它为“Stuff”和“Customer”,这些类基于我的数据库表(JDBC)并且有抽象类,因为这2个类具有相同的几个属性(Id,Name),我的抽象类包含(Id,Name,以及来自Id和Name变量的setter和getter)。

我正在创建另外两个类(“ExecuteStuff”和“ExecuteCustomer”),其目标是执行查询以操作数据库中的数据,因为这种情况“ExecuteStuff和ExecuteCustomer”类应该有方法insert,update,删除和显示操作和显示来自我的数据库的数据,因为“ExecuteStuff”和“ExecuteCustomer”需要一个相同的方法来处理来自我的数据库的数据,我决定创建我自己的名为“myData”的接口,其中包含4个mehod(类“ExecuteStuff”和类“ExecuteCustomer”的insertData(),updateData(),deleteData()和showData())。

我的问题是,我应该在我的界面“myData”中的方法内使用什么类型的数据,例如= public int insertData(Stuff stuff); 此方法适用于“ExecuteStuff” “但不是”ExecuteCustomer“,因为”ExecuteStuff“和”ExecuteCustomer“具有不同的对象类型。

或者是解决这个问题的优雅方式。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您可以在界面中使用通用类型。这样,传入的参数的数据类型就不重要了。

这是一个解释泛型的链接:

https://docs.oracle.com/javase/tutorial/java/generics/types.html

另一种解决方案是使用:

public int insertData(Object obj);

因为Stuff和Customer都是对象。

希望我能够提供帮助!

答案 1 :(得分:0)

您可以使用通用参数:

interface MyData {

public <T> T insertData(T data);
}

类示例:

class MyCustomClassThat implements MyData{
    @Override
    public <T> T insertData(T data) {

        return data;
    }
}

这使得insertData方法接受任何类。然后你可以随意操作它。最后,我们返回最初呈现的对象;以防您对数据对象本身进行操作。