我很清楚oop的多態性和繼承概念,但是我處於需要知道實現類的情況。例如:如何檢索父接口的實現類/接口?
public CommonReadRepository<?> getReadRepository(String tableName) {
if (tableName == null)
return null;
switch (tableName) {
case "order":
return orderRepository;
...
}
return null;
}
接口orderRepository
擴展CommonReadRepository
,而且由於我的要求,我需要訪問orderRepository定義的函數。
CommonReadRepository<?> repository=getReadRepository("order");
有什麼辦法來檢查執行(子)類或接口CommonReadRepository
?
當然,我總是可以做這樣的事情:
if(tableName=="order")
return (OrderRepository)CommonReadRepository<?>;
我試着調試getReadRepository("order")
,但它給我的JdkDynamicAopProxy
的情況下,我不知道它是如何工作的。
如果(接口的instanceof XYZ類) 我不想使用它,因爲我有類100,我想保持它作爲最後的手段...或者換句話說 我不知道XYZ類
感謝
我真的不知道你是什麼'請問......你不能使用'''instanceof'''或'''getClass()'''? –
如果您需要訪問該方法,則應使用包含它的參數類型。這聽起來像是一個設計問題。 – chrylis