Java反射机制中常用的类

邮差的信 提交于 2019-12-17 10:28:02

Java反射机制中常用的类


(1)Class类:用于保存运行时信息的类,可以创建想要代表类的对象 1-1创建Class类的三种方法: ①使用Class类内部定义的一个static方法取得Class类对象(主要使用)Class.forName(“com.aprsource.reflect.demo.Cat”); ②使用”类.class”取得Cat.class ③通过Object类的getClass()方法即通过指定对象取得Cat cat = new Cat();cat.getClass() 1-2通过指定对象来获取类的信息 ①获取类访问修饰符信息:classx.getModifiers() ②获取包名信息:classx.getPackage().getName() ③获取类名信息:classx.getName() 1-3通过Class对象获取构造方法 ①获取所有的public修饰的构造方法classx.getConstructors() ②获取所有的的构造方法classx.getDeclaredConstructors() ③获取指定public修饰的构造方法classx.getConstructor(构造方法的参数类型信息) ④获取指定任意的构造方法classx.getDeclaredConstructor(构造方法的参数类型信息) 1-4通过Class对象获取普通方法 ①获取所有的public修饰的普通方法classx.getMethods() ②获取所有的的普通方法classx.getDeclaredMethods() ③获取指定public修饰的普通方法classx.getMethod(方法名,方法的参数类型信息) ④获取指定任意的普通方法classx.getDeclaredMethod(方法名,方法的参数类型信息) 1-5通过Class对象获取属性字段 ①获取所有的public修饰的属性字段classx.getFields() ②获取所有的属性字段classx.getDeclaredFields() ③获取指定public修饰的属性字段classx.getField(属性字段名) ④获取指定任意的属性字段classx.getDeclaredField(属性字段名) (2)Constructor类:获取构造方法相关信息,其对象可以获取构造方法并调用构造方法 使用newInstance调用指定构造方法创建类的实例:constructor.newInstance(构造方法的参数值),Class类对象可以直接调用无参构造函数class.newInstance() (3)Method类:获取普通方法相关信息 ①通过方法对象完成普通方法的执行:method.invoke(方法的原属对象,方法的参数值) ②可以获取方法的访问修饰符、返回值类型、方法名、参数、参数列表 (4)Field类:通过反射机制获取类的属性 ①为public修饰的属性字段赋值fieldNo.set(原始对象,属性值) ②为private修饰的属性字段赋值 首先设置访问权限:fieldPrice.setAccessible(true) 再为属性字段赋值fieldPrice.set(原始对象,属性值) ③可以获取属性的访问修饰符、数据类型、属性名 (5)Properties类:专门读取所有的.properties文件,其实例对象还可以调用load()方法来加载文件。pros.load(Class.class.getResourceAsSteam(“/.properties”)) (6)Package类:获取与包有关的信息

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!