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) 以字符串形式返回所有修饰符
posted @ 2023-05-15 14:16  zmyxx  阅读(78)  评论(0)    收藏  举报