作者HuangTzHuan ()
看板java
标题Re: [问题] package 与 class 名称相同问题
时间Sat Jul 9 00:14:54 2011
感谢所有网友们的解释与帮忙 :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
1F:推 tkcn:我也趁机学了不少 :) 07/09 01:04
2F:→ sbrhsieh:利用 reflection 不能算是解决这个问题... 07/09 01:24