Java的反射机制
1 minute read
含义:
Java的反射是指在运行时获取类的方法、属性、父类、接口等类的内部信息的机制。通过“new”创建一个类的实例时,实际上是由Java虚拟机根据这个类的class对象在运行时构建出来的。反射是通过class对象来获取它的定义信息,从而可以访问到它的属性、方法。知道该类的父类、实现了哪些接口等信息。
Class类说明:
使用javac可以将.java 文件编译为.class文件,在.class文件包含了对类原始定义信息(父类、接口、构造器、属性、方法等)。.class文件在运行时会被ClassLoader加载到Java虚拟机中,当一个.class文件被加载后,虚拟机会为之生成一个Class对象,现在就可以在程序中通过“new”实例化对象了(即在运行时根据相应的Class对象构造出来)。确切来说,这个Class对象实际上是java.lang.Class
Class<TeseClass> testClass = TestClass.class;
- 或者
Class<TestClass> testClass = CLass.forName("com.test.TestClass");
Class.forName()方法的参数必须是一个类的全路径名,如果import了com.test.TestClass,就可以直接通过“TestClass.class”获取它的CLass对象,而不必写出全路径。 - 通过对象本身获取其Class对象
TestClass testClass = new TestClass(); Class<TestClass> tcClass = testClass.getClass();
I feedback.
Let me know what you think of this article on twitter @Yanlei_Hello or leave a comment below!
Let me know what you think of this article on twitter @Yanlei_Hello or leave a comment below!
comments powered by Disqus