Java反射机制 - Constructor构造函数
1. 构造函数的反射APIConstructors<?> [] getConstructors():获取所有构造函数; String getName():获取构造函数的名称; Class<?>[] getParameterTypes():获取构造函数的参数列表的类类型; <T extends Annotation&am
·
1. 构造函数的反射API
- Constructors<?> [] getConstructors():获取所有构造函数;
- String getName():获取构造函数的名称;
- Class<?>[] getParameterTypes():获取构造函数的参数列表的类类型;
- <T extends Annotation> T getAnnotation(Class<T> annotationClass):获取注解列表
- T newInstance(Object... initargs):通过构造函数创建
2. 构造函数反射案例
public static void main(String[] args) {
getConstructor(new Student());
}
public static void getConstructor(Object obj) {
Class c1 = obj.getClass();
String paramStr ="";
// 获取构造函数读写
Constructor[] consArr = c1.getConstructors();
for (Constructor constructor : consArr) {
// 获取构造函数名称
String constructorName = constructor.getName();
sb.append(constructorName).append("(");
// 获取构造函数参数类型列表的类类型
Class[] paramTypes = constructor.getParameterTypes();
if (paramTypes.length > 0) {
for (Class class1 : paramTypes) {
String paramTypeName = class1.getName();
sb.append(paramTypeName).append(",");
}
paramStr = sb.toString();
paramStr = paramStr.substring(0, paramStr.length() - 1);
sb.setLength(0);
}
sb.append(paramStr).append(")\n");
}
System.out.println(sb.toString());
}
Java反射案例代码:https://download.csdn.net/download/niuba123456/10906366
更多推荐
已为社区贡献13条内容
所有评论(0)