反射(3)--Constructor类(构造器)
来源:互联网 发布:遗传算法与svm 编辑:程序博客网 时间:2024/05/29 07:04
获取Constructor类(构造器)
通过Class类的以下方法,我们可以获得构造器。
l publicConstructor[] getConstructors():所有公共构造方法
l publicConstructor[] getDeclaredConstructors():所有构造方法
l publicConstructor<T> getConstructor(Class<?>... parameterTypes):获取单个构造方法,参数表示的是:你要获取的构造方法的构造参数个数及数据类型的class字节码文件对象
l publicConstructor<T> getDeclaredConstructor(Class<?>... parameterTypes):获取单个构造方法(能获取私有的,但要用Constructor类的setAccessible方法设置访问权限),参数表示的是:你要获取的构造方法的构造参数个数及数据类型的class字节码文件对象
Constructor类的常用方法
l public T newInstance(Object...initargs):使用此 Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。
// 获取字节码文件对象
Class c =Class.forName("cn.itcast_01.Person");
// 获取单个构造方法
Constructor con =c.getConstructor();
//创建该构造方法的声明类的新实例
Object obj =con.newInstance();
通过反射去获取带参构造方法并使用:
// 获取字节码文件对象
Class c =Class.forName("cn.itcast_01.Person");
// 获取单个构造方法
Constructor con =c.getConstructor(String.class, int.class,String.class);
//创建该构造方法的声明类的新实例
Object obj =con.newInstance("张三", 27, "北京");
l public void setAccessible(boolean flag):值为true则指示反射的对象在使用时应该取消Java语言访问检查。
通过反射获取私有构造方法并使用:
// 获取字节码文件对象
Class c = Class.forName("cn.itcast_01.Person");
// 获取私有构造方法对象
Constructor con = c.getDeclaredConstructor(String.class);
// 暴力访问私有构造方法
con.setAccessible(true);// 值为true则指示反射的对象在使用时应该取消Java语言访问检查。
// 用该私有构造方法创建对象
Object obj = con.newInstance("李四");
- 反射(3)--Constructor类(构造器)
- 反射--> 构造方法Constructor类的反射
- 反射(构造方法Constructor的反射)
- 构造器(Constructor)
- 构造器(constructor)
- 反射第三步 : 通过反射获取某一个类的 构造器Constructor 并通过反射创建对象
- 黑马程序员——反射之Constructor构造器
- JavaSE 学习参考:反射机制(3)Constructor类
- 类的构造器(constructor)简单理解
- Java(反射Filed和Constructor类)
- java中构造器(Constructor)
- java中构造器(Constructor)
- JavaScript 构造器(constructor)介绍
- java中构造器(Constructor)
- 构造器Constructor
- 构造器Constructor
- 构造器Constructor
- 构造器Constructor
- 欢迎使用CSDN-markdown编辑器
- 通知直接回复
- 《Linux内核分析》-函数调用模型与堆栈分析
- 可见光U盘
- 谈Hibernate之核心接口
- 反射(3)--Constructor类(构造器)
- Oracle 11g的用户名和默认密码
- C语言------希尔排序
- UVa 978
- 图像处理算法(二)---图像常用颜色空间
- php 使用curl模拟ip和来源进行访问
- 线段树单点更新
- VS Code 折腾记
- typename的起源与用法