給定幾個類/接口。如何獲得給定方法的實現類?
public interface A {
public int doSomthing(int x);
}
public class B implements A {
int doSomthing(int x){
//actually do something
};
}
public class C extends B {
//does some specific implementations of what B does
// but does NOT override "int doSomething(int)"
}
如何使用實施C(或C中的任何亞類)我可確定碼(編程),該B爲實施INT doSomething的(INT)的類。如果使用E(擴展D,是的......這是一個大類的家族),如何處理B的子類(讓我們說擴展C的D)overrid「int doSomething(int)我定義了實現「int doSomething(int)」的第一個父代?
謝謝大家提前:)
不應該B實現A? – stacker 2012-01-13 15:43:56
爲什麼你需要知道這個?你通常不應該關心這個。如果同時有A的實例,則知道可能會調用doSomething。這就是多態的完整點。無論如何,我認爲這是你要找的東西:http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Method.html#getDeclaringClass%28%29 – 2012-01-13 15:44:18
你的意思是像做'System.out.println(getClass()。getName());'方法內? – Viruzzo 2012-01-13 15:45:41