Java反射获取构造方法
来源:互联网 发布:股票医生软件下载 编辑:程序博客网 时间:2024/05/21 19:37
【通过反射获取构造方法并使用】
获取构造方法
public Constructor[] getConstructors():所有公共构造方法
public Constructor[] getDeclaredConstructors():所有构造方法
① // 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
② Constructor[] cons = c.getDeclaredConstructors();
for (Constructor con : cons) {
System.out.println(con);//打印出Person类中所有的构造方法
}
获取单个构造方法
public Constructor<T> getConstructor(Class<?>... parameterTypes)
参数表示的是:你要获取的构造方法的构造参数个数及数据类型的class字节码文件对象
Constructor con = c.getConstructor();// 返回的是构造方法对象
创建对象
newInstance()
con.newInstance(“Hizi", 20);
public T newInstance(Object... initargs)
// 使用此 Constructor对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。
Object obj = con.newInstance();//调用Person类的无参构造方法创建Person对象obj
通过反射去获取该构造方法并使用
①// 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
②// 获取带参构造方法对象
// public Constructor<T> getConstructor(Class<?>... parameterTypes)
Constructor con = c.getConstructor(String.class, int.class,String.class);
③// 通过带参构造方法对象创建对象
// public T newInstance(Object... initargs)
Object obj = con.newInstance("Hizi", 22 "合肥 ");
System.out.println(obj);
通过反射获取私有构造方法并使用
①// 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
②// 获取私有构造方法对象
Constructor con = c.getDeclaredConstructor(String.class);
③// 用该私有构造方法创建对象
// IllegalAccessException:非法的访问异常。
// 暴力访问
con.setAccessible(true);// 值为true则指示反射的对象在使用时应该取消Java语言访问检查。
Object obj = con.newInstance("Hizi");
System.out.println(obj);
- Java反射获取构造方法
- java反射---获取类的构造方法
- Java反射获取属性、方法、构造器
- JAVA 采用反射机制 获取构造方法
- java反射之获取方法,成员变量,构造方法
- java反射2-获取构造方法、成员变量、成员方法
- Java通过反射获取带参数构造方法并使用
- java 反射访问构造方法
- java 反射使用构造方法
- java 反射获得构造方法
- Java反射三 构造方法
- Java反射三 构造方法
- java 反射 访问构造方法
- Java 反射获取方法
- Java反射获取方法
- Java反射-------构造方法的反射应用
- 反射获取构造方法并创建对象
- 反射获取构造方法并使用
- 两数组的交
- JavaScript学习记录(4)
- spark报错:ERROR SparkUI: Failed to bind SparkUI,解决办法
- 图片无缝滚动
- 今天做到一道面试题:Android中进程的通信方式
- Java反射获取构造方法
- [学习笔记]用户界面优化之Android Fragment
- function自定义函数99乘法表
- 2017暑期实习招聘-产品经理-广联达(2轮面试)
- 再悟HTML+CSS+JS
- LeetCoder 18. 4Sum
- 19、在socket中使用域名
- 递归算法练习
- 两数组的交二