java方法如何接受扩展泛型类型的参数
我试图将一个小型MongoDB应用程序实现为一个jar文件,可以从一系列其他应用程序中使用。(运行Java6) 其目的是创建一个类,该类处理并包含java方法如何接受扩展泛型类型的参数,java,generics,Java,Generics,我试图将一个小型MongoDB应用程序实现为一个jar文件,可以从一系列其他应用程序中使用。(运行Java6) 其目的是创建一个类,该类处理并包含DBCollection、MongoDatabase和MongoClient。 这个超类可以通过这些其他应用程序和从中使用的MongoDB进行扩展。我还希望其他应用程序实现一个包含1insertIntoDB()方法的接口。这个insertIntoDB()方法应该采用1个参数,这将是另一个子类,这就是我的问题。接口如何指定泛型类型的扩展,以便每个实现返回
DBCollection
、MongoDatabase
和MongoClient
。
这个超类可以通过这些其他应用程序和从中使用的MongoDB进行扩展。我还希望其他应用程序实现一个包含1insertIntoDB()
方法的接口。这个insertIntoDB()
方法应该采用1个参数,这将是另一个子类,这就是我的问题。接口如何指定泛型类型的扩展,以便每个实现返回扩展类型
下面是进一步的解释:
class AsuperClass implements Ainterface {
MongoClient aMongoClient
MongoDatabase aMongoDatabase
initMongoDb() {
//doStuff
}
}
class AsuperPojo {
int propA
String propB
}
interface Ainterface {
void insertToDb(AsuperPojo);
}
class SubClass1 implements Ainterface extends AsuperClass{
@Override
public void insertToDb(SpecialSubClass1Pojo aSpecialSubClass1Pojo) {
//doStuff
}
}
class SpecialSubClass1Pojo() {
int propA
String propB
}
class SubClass2 implements Ainterface extends AsuperClass{
@Override
public void insertToDb(SpecialSubClass2Pojo aSpecialSubClass2Pojo) {
//doStuff
}
}
class SpecialSubClass2Pojo() {
int propA
String propB
}
也许有一种完全不同的方法可以做到这一点?如果我理解得很好,那么您正在寻找:
interface Ainterface<T extends AsuperPojo> {
void insertToDb(T foo);
}
接口接口{
void insertToDb(T foo);
}
然后使用:
class SubClass2 implements Ainterface<SpecialSubClass2Pojo>
class子类2实现了Ainterface
一些阅读:如果我理解得很好,你正在寻找这个:
interface Ainterface<T extends AsuperPojo> {
void insertToDb(T foo);
}
接口接口{
void insertToDb(T foo);
}
然后使用:
class SubClass2 implements Ainterface<SpecialSubClass2Pojo>
class子类2实现了Ainterface
一些阅读:对不起,这是一个错误的标题。很抱歉,这是一个错误的标题。具体如下所示。