Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别

标签:
java反射 |
分类: JavaSE |
http://s13/middle/7ffb8dd5gc672bd913ffc&690
http://s14/middle/7ffb8dd5gc6724c318c6d&690在这里可以看出;接口的两重性:可以把接口当做类(因为在接口中有静态变量时,他可以被初始化);接口就是接口,和类无关(接口中 没有构造方法,所以不能被初始化)
public class A
{
}
结果:class demo.A
.......................................
2)Class
3)Class.forName("类名");
从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用Class对象的newInstance()方法的时候,就必须保证:1、这个
现在可以看出,Class对象的newInstance()(这种用法和Java中的工厂模式有着异曲同工之妙)实际上是把new这个方式分解为两步,即首先调用Class加载方法加载某个类,然后实例化。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance:
new: