最近看到了java的反射,颇为苦恼,不明白 new A()和(Class.forName("A")).newInstances()(A为一个类)有什么区别,当分别用着两种方法时,java虚拟机的工作机制有什么不同,想不通。
当我在控制台运行java命令或者在IDE中运行时java虚拟机为我做了什么?java的类加载机制?
当我在控制台运行java命令或者在IDE中运行时java虚拟机为我做了什么?java的类加载机制?
Class.forName("A").newInstances() 需要抛异常new B() --B不存在 编译就过不去
Class.forName("B").newInstances() --B不存在 编译可以过去简单一句就是:动态代码。
Class.forName("A")).newInstances()你能获取到所有方法
http://crabdave.iteye.com/blog/366559上面说能