类也是对象,本身是java.lang.Class 类的对象。
Class的三种表示方式:
1、Class a = A.class; 类名.class的方式。经常在日志记录里面,获取当前类的日志记录生成日志对象是用到。
2、A a = new A();Class a2 = a.getClass(); 对象.getClass()的方式,
3、Class a2 = Class.forName("com.lilin.A");
以上三种方式获取的Class类的对象 a a2 a3 ,他们的关系是a==a2==a3 :原因是一个类只能是Class类的一个实例对象。
用reflect方式获取的类,是可以在运行是加载的,同时也可以创建对象:
a.newInstance();==>获取A类的实例对象,当然,我们在实际使用的时候需要强制转换一下:A a3 = (A)a.newInstance();