获取 Class 类实例的4种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取 Class 类实例的4种方式相关的知识,希望对你有一定的参考价值。

由于唯一性,所以并没有说“创建”
  1. public class TestClass {
  2. public static void main(String[] args) throws ClassNotFoundException {
  3. // 通过运行时类本身的.class静态属性(隐藏的)来获取
  4. Class<Person> clazz1 = Person.class;
  5. System.out.println(clazz1);// class com.cdf.reflection.Person
  6. // 通过运行时类对象的 getClass() 方法(隐藏的)来获取
  7. Person p = new Person();
  8. Class<Person> clazz2 = (Class<Person>) p.getClass();
  9. System.out.println(clazz2);// class com.cdf.reflection.Person
  10. // 通过 Class 类的静态方法传入类的全名来获取
  11. Class clazz3 = Class.forName("com.cdf.reflection.Person");
  12. System.out.println(clazz3);// class com.cdf.reflection.Person
  13. // 4.通过类的加载器
  14. ClassLoader classLoader = new TestClass().getClass().getClassLoader();
  15. Class clazz4 = classLoader.loadClass("com.cdf.reflection.Person");
  16. System.out.println(clazz4);// class com.cdf.reflection.Person
  17. }
  18. }

以上是关于获取 Class 类实例的4种方式的主要内容,如果未能解决你的问题,请参考以下文章

强哥说Java--反射

获取Class实例的三种方式

三种方式获取一个类的字节码

反射与类加载之反射基本概念与Class

杂谈 论实例化类的第六种方式

获得Class类对象的几种方法