九、反射
1.反射:Class对象(镜像)-->类(原物)
2.相关API:java.lang.Class---java.lang.reflect
3.获取Class对象(类类对象)的四种方式:
-
类名.class----要求编译期间已知类型(常用)
-
对象.getClass()----获取对象运行时的类型(常用)
-
Class.forName(类型全名称)---可以获取编译期间未知的类型
-
ClassLoader对象.loadClass(类型全名称)--
4.常用方法:类类对象.getName\getSimpleName\getPackage\getSuperclass
5.获取属性:类类对象.getFields\getDeclaredFields
-
属性对象.getModifiers\getType
-
Modifier.toString(修饰符对象)
5.获取方法:类类对象.getMethods\getDeclaredMethods
-
方法对象.getReturnType\getParameterTypes
6.获取构造器:类类对象.getConstructor(无参)\getDeclaredConstructor()
7.获取类对象:类类对象.newInstance()--无参构造
-
构造方法对象.newInstance(参数)--有参构造
8.对象调属性、方法:
-
属性对象.set(类对象,值)--修改属性值、get为获取
-
方法对象.invoke(对象)--对象调方法
9.类类对象唯一,可为锁