java 反射获得构造方法
2017-04-15 15:21
183 查看
利用反射获得类的构造方法:以java.util.Scanner为例
package Test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
try {
Class <Scanner>clazz =(Class<Scanner>) Class.forName("java.util.Scanner");
Constructor[] cs=clazz.getConstructors();//获取Scanner构造方法数组
StringBuffer sb=new StringBuffer();//用于存取结构
sb.append("public class ");
sb.append(clazz.getSimpleName());
sb.append("{\r\n");
for (int i = 0; i < cs.length; i++) {
sb.append("\t");
sb.append(Modifier.toString(cs[i].getModifiers()));//获得修饰符:例如public
sb.append(" "+clazz.getSimpleName());//获得类名,因为构造方法名与类名相同
sb.append("(");
Class<?> para[]=cs[i].getParameterTypes();//获得参数类型数组
for (int j = 0; j < para.length; j++) {
sb.append(para[j].getSimpleName());//参数类型
sb.append(" arg"+j);
if(j!=para.length-1){
sb.append(",");
}
}
sb.append("){\n");
sb.append("\t\r\n\t}\n");
}
sb.append("}");
System.out.println(sb);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
运行结果:
}
package Test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
try {
Class <Scanner>clazz =(Class<Scanner>) Class.forName("java.util.Scanner");
Constructor[] cs=clazz.getConstructors();//获取Scanner构造方法数组
StringBuffer sb=new StringBuffer();//用于存取结构
sb.append("public class ");
sb.append(clazz.getSimpleName());
sb.append("{\r\n");
for (int i = 0; i < cs.length; i++) {
sb.append("\t");
sb.append(Modifier.toString(cs[i].getModifiers()));//获得修饰符:例如public
sb.append(" "+clazz.getSimpleName());//获得类名,因为构造方法名与类名相同
sb.append("(");
Class<?> para[]=cs[i].getParameterTypes();//获得参数类型数组
for (int j = 0; j < para.length; j++) {
sb.append(para[j].getSimpleName());//参数类型
sb.append(" arg"+j);
if(j!=para.length-1){
sb.append(",");
}
}
sb.append("){\n");
sb.append("\t\r\n\t}\n");
}
sb.append("}");
System.out.println(sb);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
运行结果:
}
相关文章推荐
- Android(java)学习笔记107-0:通过反射获得构造方法并且使用
- Android(java)学习笔记107-1:通过反射获得带参构造方法并且使用
- java 反射通过get方法获得属性值
- Java反射-------构造方法的反射应用
- 黑马程序员——java语言加强部分——反射之构造方法
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 测试 java反射Reflection中 获取 类属性、方法、构造方法及 调用类方法改变 对象属性
- Java中用反射通过构造方法创建实例
- java基础之通过反射获得和使用类的字段、方法、构造器,等
- java通过反射获得当前运行的类名和方法名
- java反射通过get方法获得属性值
- java反射获得参数是数组的方法的两种方法
- java 反射使用构造方法
- java 反射通过get方法获得属性值
- 黑马程序员_Java高薪技术之构造方法的反射应用
- Java反射之调用构造方法and操作数组
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- java中利用反射机制得到一个类的所有构造方法,成员方法机器参数的列表
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法