Class类 获取Class对象
阅读API的Class类得知,Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的
获取Class对象的三种方式(实例采用Person类)
方式1:通过Object类的getObject()方法
Person p = new Person(); Class c = p.getClass();
方式2: 通过 类名.class 获取到字节码文件对象(任意数据类型都具备一个class静态属性,看上去要比第一种方式简单)。
Class c2 = Person.class;
方式3: 通过Class类中的方法(将类名作为字符串传递给Class类中的静态方法forName即可)。
Class c3 = Class.forName("Person");
l 注意:第三种和前两种的区别
前两种你必须明确Person类型.
后面是指定这种类型的字符串就行.这种扩展更强.我不需要知道类名.我只提供字符串,按照配置文件加载就可以了
代码演示:
public class ReflectDemo {
public static void main(String[] args) throws ClassNotFoundException {
//通过Object类的getObject()方法
Person p = new Person();
Class c1 = p.getClass();
System.out.println(c1);
//类名.class 获取到字节码文件对象
Class c2 =Person.class;
System.out.println(c2);
//通过Class类中的方法forName()
Class c3 = Class.forName("cn.shiqi.demo1.Person");
System.out.println(c3);
}
}
class Person{
}
我是十七,一个java学习者,编程小白,在一所比较不错的职业技术学校修炼,专注于web开发与安全。如果本文有错误或者不理解的地方以及其他事宜,可留言评论或者私信本人qq84481234。

浙公网安备 33010602011771号