JAVA problem
登录 | 论坛导航 -> 华新鲜事 -> 社会百科 | 本帖共有 7 楼,当前显示第 4 楼 : 从楼主开始阅读 : 本帖树形列表 : 返回上一页
作者:我心为谁动 (等级:3 - 略知一二,发帖:515) 发表:2003-06-02 20:30:29  4楼  评分: 
终於盼到希望了不过想问一下:obj是Object,并不是我的MyClass,用obj来调用MyClass的method很显然找不到的,这个怎么办?如果还要用(MyClass)obj的话那岂不是还要hard coding?
你是要这样吗?
File Name: Test.java
--------------------------------------------
import java.io.*;
import java.lang.reflect.Method;

public class Test
{
public static void main(String args[]) throws Exception
{
new Test(args[0], args[1]);
}

public Test (String className, String methodName) throws Exception
{
Class c = Class.forName(className);
Method m = c.getMethod(methodName, null);
m.invoke(this, null);
}
}

File Name: MyClass1.java
-----------------------------
public class MyClass1
{
public static void testMethod ()
{
System.out.println("My Name is MyClass1");
}
}

File Name: MyClass2.java
----------------------------
public class MyClass2
{
public static void testMethod ()
{
System.out.println("My Name is MyClass2");
}
}

以上code, 运行结果如下
>>java Test MyClass1 print

>>My Name is MyClass1

>>java Test MyClass2 print

>>My Name is MyClass2

不过这个里面的modifier和static keyword好像有要求, 以上public+static的组合是没问题的, 不过其他的好像不可以。
Put your OWN COOL signature here!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表

本帖共有 7 楼,当前显示第 4 楼,本文还有 N-1 层楼,要不你试试看:点击此处阅读更多 >>



请登录后回复:帐号   密码