迷惑的地方!请高手指导

02-12-06 chinapopo

在global.jsp中,使用

Class jiveGlobals = Class.forName("com.jivesoftware.forum.JiveGlobals");

// authorization class used below

Class authorization = Class.forName("com.jivesoftware.forum.Authorization");

Class[] params = new Class[1];

params[0] = "".getClass();

Method getJiveProperty = jiveGlobals.getMethod("getJiveProperty", params);

if (getJiveProperty == null) {

doSetup = true;

}

我觉得就是new 一个对象,在调用他的方法。为什么要弄得这么复杂呢?有什么好处?

banq
2002-12-06 21:18

这就是Class.forName的好处,可以动态的定义你自己的Authorization和JiveGlobals

可扩展性强,以后还有更多这样体现设计思想的地方。

chinapopo
2002-12-09 10:44

还是不明白?

何为动态呢?体现在什么方面?

likewater
2002-12-09 12:50

估计可以这样用(这里已经写死了,体现不出来)

var="你的类名"

Class xxx= Class.forName(var);

这样就动态调用你自己的类了

后面METHOD方法也可以一样的道理

chinapopo
2002-12-09 19:48

有道理