javaoop--反射详解
来源:互联网 发布:java web项目 https 编辑:程序博客网 时间:2024/04/20 01:07
1.所谓 反射: 就是说 你的程序 在 需要某些功能时,才会加载某些 对应的 类的 资源,
(在我看来,就是说 你不用 去 导入包-----实例化对象,就可以 使用某些类中的方法
或者说: 你可以很方便的 使用 某些方法)
2. 接着 直接上 使用的方法:
——————————————————————————————————————
1.使用反射 把 类中的 所有 方法 遍历出来-----------然后生成 对象----------生成对象后 还可以调用,
// 先加载某个类
Class cls = Class.forName("com.xt.vo.Student"); 如果 是一个已知的方法那么就可以 很 简单(名字,类型)
// 获取方法 所有方法组成的 一个 数组 Method m=cls.getMethod("getName",Java.lang.String.class);
Method [] methods = cls.getMethods(); 使用这个方法 就是:m.invoke( 实例化对象 ,"马云");
// 遍历出来 就是: cls.newInstance()
for(Method m:methods){
System.out.println("方法名:"+m.getName();
// 获取 出 每一个方法 里面的 参数类型 方便 以后 的 调用 每一个 返回结果是 数组 ,都需要 定义数组 来 接收
Class parameters [] = m.getParameterTypes(); 还有 对 每一个 数组里面的 元素 进行操作 , 就需要 遍历出来
if(parameters!=null && parameters.length>0){ 遍历 出来 才可以进行 操作
System.out.println("参数类型为:");
for(Class c : parameters){
System.out.print(c.getName()+"\t");
}
System.out.println();
}
}
//还可以 获取 返回值的 类型
Class rety=m.getReturnType();
可以 得到 类型名: rety.getName();
————————————————————————————————————————
2.还可以 获取一个 完整的 类结构
Class cls=String.class;
System.out.println("类的名称为:"+cls.getName());
System.out.println("是否为数组"+cls.isArray());
System.out.println("所在包:"+cls.getPackage());
System.out.println("父类:"+cls.getSuperclass());
————————————————————————————————
- javaoop--反射详解
- javaoop--反射详解
- javaOOP
- javaOOP
- JavaOOP
- Javaoop
- JavaOOP思想
- JavaOOP思想
- JavaOOP 异常
- JavaOOP 递归
- javaoop流
- javaoop总结
- javaoop-01
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 如何读懂c语言指针
- 通过反射验证IntegerCache缓存整数的机制
- zend stadio 12.5下载和破解
- spark-submit
- 网站开发流程以及HTML5简介(二)
- javaoop--反射详解
- ORACLE 11g 用Duplicate恢复Data Guard 备库详细过程
- C指针初识
- centos7 一次痛苦的安装过程
- windows进入不了文件夹
- 软件工程常见问题(二)
- 2016.11.24
- 阅读笔记:微信后台相关
- 再见,OI