可以說我有對象X和對象B.X是一個隨機類的對象,它依次創建B,並將其自身作爲變量存儲在對象B中。Java - 是否可以在任何對象上調用接口方法?
現在對象B想要在對象X中運行方法,而不知道它是什麼類。
是否可以在任何對象中調用某個方法,並且如果具有該名稱的方法存在,它將運行,如果不存在,則不會。我假設一些try/catch可以解決這個問題。
但可以說,我有這樣的事情:
public class ObjectB {
public Object parentX;
public ObjectB(Object x) {
parentX = x;
}
public void anyMethod() {
x.runMyMethod();
}
}
在另一個程序和我一起工作,這是可能的接口,因此有一個想法,這可能與Java太。但是,我似乎無法找到設置的方法。所以如果上述情況是這樣的話,那麼如何設置它,以便ObjectB可以在我的程序中的所有類上調用該方法,如果這正是我想要的?
調用方法,'x'必須是實現該接口的類的實例。 (你的意思是'parentX'?) –
不,唯一的方法就是使用反射,但反射大部分時間不是正確的答案。你應該通過修復你的設計來做到這一點。但是,如果不知道自己想要達到什麼目標,在更高的層次上,很難回答。 –
使用接口,而不是'Object'作爲'x'和'parentX'的類型。 –