JAVA反射
Class类:代表类的定义
获取类的基本信息
-
forName(String className)
- 根据类名获取类的对象
-
newInstance()
- 创建类的实例对象
-
getName()
- 获得类的完整路径名称
-
getSimpleName()
- 获得类的名字
-
getPackage()
- 获得类的包名
-
getSuperClass()
- 获得当前类继承的父类的名字
-
getInterfaces()
- 获得当前类实现的类或接口
获取类中属性
-
getFiled(String name)
- 获得某个公有的属性对象
-
getFileds()
- 获得所有的公有属性对象
-
getDeclaredFiled(String name)
- 获得某个属性对象
-
getDeclaredFileds()
- 获得所有的属性对象
获取类中构造方法
-
getConstructor(Class<?>…parameter Types)
- 获得类中某个公有的构造方法
-
getConstructors()
- 获得类中所有公有的构造方法
-
getDeclaredConstructor(Class<?>…parameter Types)
- 获得类中某个构造方法
-
getDeclaredConstructors()
- 获取类中所有的构造方法
获取类中普通方法
-
getMethod(String name , Class<?>…parameter Types)
- 获取类中某个公有方法
-
getMethhods()
- 获取类中所有公有方法
-
getDeclaredMethod(String name , Class<?>…parameter Types)
- 获取类中某个方法
-
getDeclaredMethods()
- 获取类中所有方法
Method类:代表类的普通方法
常用方法
-
invoke(Object obj , Object…arg)
- 传递Object对象及参数并调用该对象所对应的方法
-
getModifiers()
- 返回访问修饰符
-
getParameters()
- 返回方法参数
-
getReturnType()
- 返回返回值类型class
-
setAccessible(boolean flag)
- 设置是否可以访问私有方法
Constructor类:代表类的构造方法
常用方法
-
newInstance(Object…initargs)
- 根据传入的参数创建类的实例对象
-
setAccessible(boolean flag)
- 设置私有构造方法是否可以访问
Field类:代表类的成员变量
常用方法
-
equals(Object obj)
- 属性与obj相等则返回true
-
get(Object obj)
- 获得obj中对应的属性值
-
set(Object obj)
- 设置obj中对应的属性值
-
setAccessible(boolean flag)
- 设置私有属性是否可以访问