看板 java 關於我們 聯絡資訊
感謝所有網友們的解釋與幫忙 :D 我完全同意 sbrhsieh 網友所說,應該從命名就避免這個狀況發生 因為我不太熟悉 java,因此初遇此問題時想知道 java 是否有類似 c++ 這種語法: ::tw::sub1::test 來強迫從 top level 開始找 也感謝 tkcn 網友告知沒有語法上的解法 最後感謝 PttTime 網友提供了另一種雖然迂迴,卻真的能解決這個問題的作法 :) ※ 引述《PttTime (批踢踢時間)》之銘言: : 那就只好使用比較麻煩的方式...... : run tw.sub2.test時將會呼叫tw.sub1.test.hello() : package tw.sub1; : public class test { : public void hello() { : System.out.println("Hello"); : } : } : ======================================== : package tw.sub2; : import java.lang.reflect.Method; : public class test { : public static void main(String[] args) { : try { : Class<?> cls = Class.forName("tw.sub1.test"); : Method method = cls.getMethod("hello") : method.invoke(cls.newInstance()); : } catch (Exception e) { : e.printStackTrace(); : } : } : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.49
tkcn:我也趁機學了不少 :) 07/09 01:04
sbrhsieh:利用 reflection 不能算是解決這個問題... 07/09 01:24