JAVA problem
登录 | 论坛导航 -> 华新鲜事 -> 社会百科 | 本帖共有 3 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:百及子 (等级:5 - 略有小成,发帖:3259) 发表:2003-06-02 09:49:01  楼主  关注此帖
JAVA problem
哪位大侠讲讲java.lang.Class和java.lang.ClassLoader怎么用的?

我主要想用一个string表示的名字来调用同名的一个class,不知道上面两个class能否做到这点?即

string temp = "MyClass";

public class MyClass{
public static void testmethod(){
System.out.println("Test OK");
}
}

问题要求我如何把temp提交给java.lang.Class或java.lang.ClassLoader然后返回MyClass,这样就可以直接调用testmethod了。

如果您知道,请讲仔细点好吗?谢谢


爱惜无俸禄 糟蹋有乾坤
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:百及子 (等级:5 - 略有小成,发帖:3259) 发表:2003-06-02 16:59:39  2楼
Some points here:1) You don't normally make direct use of ClassLoader, unless you wanna customize the security/access/initialization mechanism of the default class loaders provided. 2) To use java.lang.Class to load a class, simple do this: try { Class cls = Class.forName("MyClass"); Object obj = cls.newInstance(); } catch (....) { } //There is a long list of possible exceptions here. Check JDK API doc for the list.
终於盼到希望了
不过想问一下:obj是Object,并不是我的MyClass,用obj来调用MyClass的method很显然找不到的,这个怎么办?如果还要用(MyClass)obj的话那岂不是还要hard coding?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:百及子 (等级:5 - 略有小成,发帖:3259) 发表:2003-06-03 16:39:27  3楼
No, not necessary.Java reflection can handle normal method calls using generic reflection mechanism.
flying再来
我觉得 我心为谁动 的方法可行,至少我现在已经能顺利解决public+static的问题了

但是对於你的建议,还不是很明白,能给个简单的例子办到 我心为谁动 一样的效果吗?谢谢
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 社会百科 | 返回上一页 | 本主题共有 3 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码