Java反射之 Constructor
为了能够动态获取对象的构造方法的信息,需要通过以下方法来完成:
1、getConstructors()
2、getConstructor(Class<?>…parameterTypes)
3、getDeclaredConstructors()
4、getDeclaredConstructor(Class<?>...parameterTypes)
通过以上方法可以获得一个Construtors的对象,Construtors封装了很多方法方便我们构造对象:
1、 getParameterTypes() 按照顺序返回构造方法参数的类型为一个Class数组
2、isVarargs() 查看该构造器的参数是否可变,返回值为布尔型
3、getException() 以 Class 数组的形式获取该构造方法可能抛出的异常类型
4、newInstance(Object … initargs) 通过该构造方法利用指定参数创建一个该类型的对象,如果未设置参数则表示采用默认无参的构造方法
5、setAccessiable(boolean flag) 如果该构造方法的权限为 private,默认为不允许通过反射利用 netlnstance()方法创建对象。如果先执行该方法,并将入口参数设置为 true,则允许创建对象
通过 java.lang.reflect.Modifier 类可以解析出 getMocMers() 方法的返回值所表示的修饰符信息
| isStatic(int mod) | 如果使用 static 修饰符修饰则返回 true,否则返回 false | |
| isPublic(int mod) | 如果使用 public 修饰符修饰则返回 true,否则返回 false | |
| isProtected(int mod) | 如果使用 protected 修饰符修饰则返回 true,否则返回 false | |
| isPrivate(int mod) | 如果使用 private 修饰符修饰则返回 true,否则返回 false | |
| isFinal(int mod) | 如果使用 final 修饰符修饰则返回 true,否则返回 false | |
| toString(int mod) | 以字符串形式返回所有修饰符 | |

浙公网安备 33010602011771号