反射(reflect)
反射破坏了封装,这是一种取舍。
一、运行时类型识别(RRTI, Run-Time Type Identification)
C++ 中的概念,指在运行时识别一个对象的类型和类的信息。
二、什么是反射?
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的信息;
对于任意一个对象,都能够调用它的任意一个方法和属性;
这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
三、获取 class 对象的方法
1 Object.class
Class<Integer> intClazz = Integer.class;
2 obj.getClass()
3 Class.forName()
Class.forName(name)
Class.forName(name, true, CALLCLASS.class.getClassLoader())
4 classLoaderObj.loadClass()
四、与反射有关的类
java.lang.Class
java.lang.reflect.Constructor
利用它可以在运行时动态创建对象
java.lang.reflect.Fileld
利用它可以在运行时动态获取和修改属性的值(包含 private)
java.lang.reflect.Method
利用它可以动态调用方法(包含 private)
java.lang.reflect.Array
利用它可以动态创建和操作数组
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于