成员变量也是对象
java.lang.reflect.Field
Field类封装了关于成员变量的操作
getFields()方法获取的是所有的public的成员变量的信息
getDeclaredFields() 获取的该类自己声明的成员变量的信息
构造函数也是对象
java.lang.Constructor中封装了构造函数的信息
System.out.print(" "); //没换行
System.out.println(" "); //后面自带换行
构造函数也是对象。
java.lang.Constructor中封装了构造函数的信息。
getConstructors获取所有的public的构造函数。
getDeclaredConstructors得到所有的构造函数。
Constructor[] cs = c.getDeclaredConstructors();
获取构造函数的参数列表,得到的是参数列表的类类型(和前面获取方法的参数类类型一样)
Class[] paramTypes = construcroe.getParameterTypes();//再调用.getName()才是类名
记住,要获取类的信息,要先获取类类型
记住,要获取类的信息,要先获取类类型
成员变量也是对象
java.lang.reflect.Field
Field类封装了关于成员变量的操作。
getField()方法获取的是所有的public的成员变量的信息。
getDeclaredFields()获取的是该类自己声明的成员变量的信息。
Field[] fs = c.getDelcaredFields();
获取成员变量的类型的类类型
Class fieldType = field.getType(); //如String.class
String typeName = fieldType.getName(); //如String
获取成员变量的名称
String fieldName = field.getName();
44444444444
4444444444444444
333333333333333333333
222222222
33333333
成员变量也是对象,Java .lang.reflect.Field
类邓庄了观念与成员变量的操作
Field[] fs = c.getFields();//获取的是所有的public 的成员变量的信息
Field[] fs = c.getDeclaredFields();//获取的是该类自己声明的成员变量的信息
成员变量也是对象
java.lang.reflect.Field
Field类封装了关于成员变量的操作
getFields()方法获取的是所有的public的成员变量的信息
getDeclaredFields获取的是该类自己声明的成员变量的信息
eclipse将方法中的内容拿出来抽象为一个新方法:
选中要抽取的内容--》右键refactor--》extract method
快捷键alt+shift+M
成员变量也是对象
成员变量也是对象
getFields()方法获取的是所有的public的成员变量的信息 返回Field[]
java.lang.reflect.Field 封装了关于成员变量的操作
getDeclaredFields()获取的是该类自己声明的成员变量的信息
getType()获取成员变量的类类型
getName()获取成员变量的名称
构造函数也是对象
getConstructors()获取所有的public的构造函数,返回Constructor[]
getDeclaredConstructors()得到所有构造函数,包括所有访问修饰符。
java.lang.Constructor中封装了构造函数的信息
getName()获取构造函数名称
getParameterTypes()获取参数列表的类类型,返回Class[]
成员变量的反射和构造函数的反射
知识点1:成员变量的反射
java.lang.reflect.Field:成员变量也是对象,Field类封装了关于成员变量的操作。
getFields():获取该类类型所有的public的成员变量信息,返回值为Field类型的数组。
getDeclaredFields():获取所有自己声明的成员变量信息(不区分访问修饰符的限制),返回值为Field类型的数组。
getType():获取成员变量类型的类类型,返回值类型为Class。
getName():如果是成员变量类型调用该方法,则返回该类型的名字,如果是成员变量调用该方法,则返回成员变量名字。
知识点2:构造函数的反射
java.lang.Constructor:构造函数也是对象,Constructor中封装了构造函数的信息。
getConstructors():类类型调用的方法,获取所有公有的构造方法,返回值类型为Constructor数组。
getDeclaredConstructors():类类型调用的方法,获取所有自己声明的构造方法(不区分访问修饰符),返回值类型为Constructor数组。
getName():Constructor类的方法,获取构造方法名(这里为类路径+构造方法名)。
getParameterTypes():Constructor对象的方法,获取构造函数的参数列表,得到的是参数列表的类类型,返回值为Class类型数组。
构造函数也是对象
java.lang.Constructor中封装了构造函数的信息
getConstructors获取所有的public的构造函数
getDeclaredConstuctors得到所有的构造函数
获取构造函数的参数列表 得到的是参数列表的类类型
Class[] paramTypes=constructor.getParameterTypes();
成员变量也是对象
java.lang.reflect.Field
Field类封装了关于成员变量的操作
getFields()方法获取的是所有public的成员变量的信息
getDeclaredFields获取的是该类自己声明的成员变量的信息
得到成员变量的类型的类类型
Class fieldType=field.getType();
先得到类的类类型,就可以进行对该类的各种常规操作了
成员变量的反射和构造函数的反射
知识点1:成员变量的反射
java.lang.reflect.Field:成员变量也是对象,Field类封装了关于成员变量的操作。
getFields():获取该类类型所有的public的成员变量信息,返回值为Field类型的数组。
getDeclaredFields():获取所有自己声明的成员变量信息(不区分访问修饰符的限制),返回值为Field类型的数组。
getType():获取成员变量类型的类类型,返回值类型为Class。
getName():如果是成员变量类型调用该方法,则返回该类型的名字,如果是成员变量调用该方法,则返回成员变量名字。
知识点2:构造函数的反射
java.lang.Constructor:构造函数也是对象,Constructor中封装了构造函数的信息。
getConstructors():类类型调用的方法,获取所有公有的构造方法,返回值类型为Constructor数组。
getDeclaredConstructors():类类型调用的方法,获取所有自己声明的构造方法(不区分访问修饰符),返回值类型为Constructor数组。
getName():Constructor类的方法,获取构造方法名(这里为类路径+构造方法名)。
getParameterTypes():Constructor对象的方法,获取构造函数的参数列表,得到的是参数列表的类类型,返回值为Class类型数组。
Java--反射--获取构造函数的信息
Java--反射--获取成员变量的信息