反射6
来源:互联网 发布:入门单板吉他推荐 知乎 编辑:程序博客网 时间:2024/06/05 20:30
使用newinstance()创建对象
这种方式要求该Class对象的对应类有默认构造方法,而执行newInstance()方
法时实际上是利用默认构造方法来创建该类的实例
使用Constructor对象创建对象
要先使用Class对象获取指定的Constuctor对象,再调用Constructor对象的
newInstance()方法来创建该Class对象对应的实例。通过这种方式可以选择
使用某个类的指定构造方法来创建实例。通过反射创建对象时性能要稍微低
一些
invoke
Object invoke(Object obj,Object...args);
该方法中的obj是执行该方法的对象,后面的args是执行该方法时传入该方
法的参数
调用私有方法
setAccessible(Boolean flag)
将Method对象的accessible标志设置为指示的布尔值,值为true则表示该
Method在使用时应该取消java语言访问权限检查。值为false表示该Method
在使用时应该实施Java语言访问权限检查。
得到属性值
getXxx(Object obj);
获取obj对象该属性的属性值,其中参数obj为该属性所在的对象。此处的Xxx
对应8个基本类型,如果该属性的类型是引用类型则取消get后面的Xxx.
为属性赋值
setXxx(Object obj,Xxx val);
将obj对象的该属性设置成val值。此处的Xxx对应8个基本类型,如果该属性的
类型是引用类型则取消set后面的Xxx.
Array 创建数组
static Object newInstance(Class componentType,int...length)
创建一个具有指定的元素类型、指定维度的新数组。
返回元素
static xxx getXxx(Object array,int index);
返回array数组中第index。其中xxx是各种基本数据类型,如果数组元素是
引用类型,则去掉XXX,方法变为static get(Object array,int index);
为数组元素赋值
static void setXxx(Object array,int index,xxx val);
将array数组中第index元素的值设为val。其中xxx是各种基本数据类型,
如果数组元素是
引用类型,则去掉XXX,方法变为
static void set(Object array,int index,xxx val);
import java.util.Date;public class NewInstanceDemo {public static void main(String[] args) throws InstantiationException, IllegalAccessException {Class c = Date.class;Date d = (Date)c.newInstance();System.out.println(d.toString());}}
- 反射6
- 反射(6)--动态代理
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 500. Keyboard Row
- 【C++ 学习笔记】防止头文件二次编译总结
- 获取短信内容
- 帝国cms常用标签
- HDU1072 Nightmare(dfs)
- 反射6
- android sdcard存储方案三(基于fuse文件系统):
- C++基础之返回数组
- 电话拦截
- 编程规范1 命名规则---做一名优秀的程序员必备
- 重新发现矩阵
- Lecture 3
- 476. Number Complement - 最高比特位后取反
- 简单的汇编模拟器教程(JavaScript)部分1[译]