Class.forName("Something");
和有什么区别Class.forName("Something").newInstance();
请澄清一下。
问问题
324 次
3 回答
10
Class.forName("Somthing");
只是将类加载到内存中
Class.forName("Somthing").newInstance();
将类加载到内存中并创建由所加载的类表示的实例Class
。
于 2013-11-07T06:24:39.167 回答
2
1:如果你只对类的静态块感兴趣,只加载类就可以了,并且会执行静态块,那么你所需要的就是
Class.forName("Somthing");
2:如果你有兴趣加载类,执行它的静态块并且还想访问它的非静态部分,那么你需要一个实例然后你需要
Class.forName("Somthing").newInstance();
于 2013-11-07T06:31:45.487 回答
0
Class.forName 只是加载类,newInstance 方法调用一个新对象
Class myclass = Class.forName("someClass"); // Load the class
someClass obj = (someClass) myclass.newInstance(); // someClass obj = new someClass()
于 2013-11-07T06:28:35.653 回答