2016-02-29 61 views
0

我試圖將一個小的MongoDB應用程序作爲一個jar文件來實現,它可以從一系列其他應用程序中使用。 (運行Java 6)Java方法如何採用擴展泛型的參數

目的是要有一個類來處理和包含DBCollection,MongoDatabaseMongoClient。 這個超類可以通過這些其他應用程序和從這些應用程序中使用的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 
} 

也許有這樣做的完全不同的方式?

+0

對不起,它是一個錯誤的標題。如下RC顯示了它的極端情況。 –

回答