1.通过调用运行时类的属性,这个需要提前知道调用的类,类的class方法就可用返回Class的实例,该类的运行时类。
Class<Person> class1 = Person.class;
System.out.println(class1);
2.通过运行时类的对象,调用getClass()方法
Person person = new Person();
Class<? extends Person> class2 = person.getClass();
System.out.println(class2);
3.通过Class的静态方法forName(String classPath) 这里需要注意,这个不是文件的路径而是引用如果出现:Exception in thread "main" java.lang.ClassNotFoundException 不是文件写错了,就是没写对这个引用。
Class class3 = Class.forName("Package11.Reflection1.Person");//这里是文件的引用不是路径
System.out.println(class3);
4.使用类的加载器:getClassLoader是获取类的加载器 loaderClass
ClassLoader classLoader = 获取Class类的实例.class.getClassLoader(); //
Class class4 =classLoader.loadClass("Package11.Reflection1.Person");
System.out.println(class4);