Java中反射的一个简单使用
2016-11-14 10:43
323 查看
简介
首先介绍一些不太实用的解释:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
简单使用
反射,在java中是非常常见和好用的一种方式,(但是大家需要知道,他的效率是比较低的,所以要慎用)当然在基于java语言而产生的Android中也是可以使用的,我们可以使用反射来获取一些系统并不开放,但是存在的类,从而调用他的一些方法,下面就简单的写一下,利用java反射来获取类和调用它的方法的实现。
//需要被反射调用的类的路径 String className = "com.example.test.JavaReflect";Class reflect = null; try { //通过路径来获取java类 reflect = Class.forName(className); //实例化对应得类 Object javaReflect = reflect.newInstance(); if(null != javaReflect) { //反射出该Class类中的stringToUp()方法 stringToUp是方法名,String.class是参数类型 Method stringToUp = reflect.getDeclaredMethod("stringToUp", String.class); //取消访问私有方法的合法性检查 stringToUp.setAccessible(true); //调用stringToUp()方法,第一个参数表示对应的类,第二个是方法的参数 String str = (String) stringToUp.invoke(javaReflect,"java reflect test"); System.out.println("result:"+str); } }catch (Exception e) { e.printStackTrace(); }
我们来看一下,在stringToUp里面做了什么:
public String stringToUp(String str){ return str.toUpperCase(); }
其实就是一个对字符串转换成大写,然返回,好了我们来看一下输出结果:
01-02 08:09:11.959 6150-6150/com.zxf.alpha I/System.out: result:JAVA REFLECT TEST
简直就是完美。
总结
好了,以上就是这篇文章的全部内容了,反射在Android中的应用范围也很多,比如我们项目有多个module的时候,你想在module里面调用主的程序的一个方法你就可以这么干,也可以用反射来调用一些系统为公开的方法,但是效率不太高。希望本文的内容对大家学习或者使用Java中的放射能有所帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:
相关文章推荐
- 关于Java中的反射的一个简单使用
- java使用注解和反射打造一个简单的jdbc工具类
- 一个java生成与使用WebService的简单例子
- flex 与 java交互 的一个简单示例 (使用RemoteObject)
- java 使用线程做的一个简单的ATM存取款实例代码
- java学习笔记之使用MyEclipse写一个简单的登陆界面(二)
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
- 动态调用一个类的简单例子(java反射)
- 一个非常简单的缓冲—使用Java5提供的读写锁处理多线程操作
- java-一个简单的访问DB的main方法使用
- Jsp+servlet+javabean使用Lucene3.6.2做一个简单数据库搜索的总结(1)
- java学习笔记之使用MyEclipse编写一个简单的登陆界(一)
- java反射技术的简单使用
- IoC原理-使用反射/Emit来实现一个最简单的IoC容器
- java中使用向量做的一个简单翻页程序
- 一个java生成与使用WebService的简单例子
- JAVA反射的一个简单实现
- 利用JAVA的动态属性之反射原理实现一个简单AOP容器 - AOP的实现原理分析
- 使用过滤器+反射+枚举,简单模拟sturts2运行方式,编写一个属于自己的框架
- Java使用简单循环输出一个小写字母表