java方法如何接受扩展泛型类型的参数

java方法如何接受扩展泛型类型的参数,java,generics,Java,Generics,我试图将一个小型MongoDB应用程序实现为一个jar文件,可以从一系列其他应用程序中使用。(运行Java6) 其目的是创建一个类,该类处理并包含DBCollection、MongoDatabase和MongoClient。 这个超类可以通过这些其他应用程序和从中使用的MongoDB进行扩展。我还希望其他应用程序实现一个包含1insertIntoDB()方法的接口。这个insertIntoDB()方法应该采用1个参数,这将是另一个子类,这就是我的问题。接口如何指定泛型类型的扩展,以便每个实现返回

我试图将一个小型MongoDB应用程序实现为一个jar文件,可以从一系列其他应用程序中使用。(运行Java6)

其目的是创建一个类,该类处理并包含
DBCollection
MongoDatabase
MongoClient
。 这个超类可以通过这些其他应用程序和从中使用的MongoDB进行扩展。我还希望其他应用程序实现一个包含1
insertIntoDB()
方法的接口。这个
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

一些阅读:

对不起,这是一个错误的标题。很抱歉,这是一个错误的标题。具体如下所示。