参考学习:https://blog.csdn.net/sinat_38259539/article/details/71799078
Demo.java:
package cn.xxx.demo;
/*
* 获取一个类的Class文件对象(字节码文件对象)的三种方式
* 1. 对象.getClass()
* 2. 类名.class
* 3. Class.forName("包名.类名") (常用)字符串类名可以通过配置文件获取
* 三种方式获取的Class文件对象都是同一个对象;每个类的Class文件对象都是唯一的。
*/
public class Demo {
public static void main(String[] args)throws ClassNotFoundException {
//1. 对象.getClass()
Person p = new Person(); // 自定义的Person类
Class c = p.getClass();
System.out.println(c); // class cn.xxx.demo.Person
//2. 类名.class
//每种类型都会有一个静态属性class
Class c1 = Person.class;
System.out.println(c1);
//3. Class.forName("包名.类名") (常用)因为字符串类名可以通过配置文件获取,更加灵活。
Class c2 = Class.forName("cn.xxx.demo.Person"); // 必须是类全名(包名.类名)
System.out.println(c2); // class cn.xxx.demo.Person
}
}