1. 构造函数的反射API

  1. Constructors<?> []  getConstructors():获取所有构造函数;
     
  2. String   getName():获取构造函数的名称;
     
  3. Class<?>[]  getParameterTypes():获取构造函数的参数列表的类类型;
     
  4. <T extends Annotation> T getAnnotation(Class<T> annotationClass):获取注解列表
     
  5. 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

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐