Android反射机制(一)
来源:互联网 发布:黑泽朋世 知乎 编辑:程序博客网 时间:2024/06/05 05:57
try{1.首先要找到类名,就是你要反射函数所在的类(Android.telephony包下面的TelephonyManager类) Class<?> managerClass = Class.forName("Android.telephony.TelephonyManager"); 2.找到方法,用getMethod(...)注意里边的参数 Method methodDefault= managerClass.getMethod("getDefault",new Class[] {int.class}); Object manager = methodDefault.invoke(managerClass,sub); Method methodSend= managerClass.getMethod("getSimState"); 3.抛出反射invoke方法 int state = (Integer)methodSend.invoke(manager); if(state== TelephonyManager.SIM_STATE_READY){ return true; } }catch (Exception e){ e.printStackTrace(); return false; }
获取类的三种方式
//获取类信息方式一:Object.getClass() Class cP1 = p1.getClass(); Class cp2 = p2.getClass(); System.out.println(cP1==cp2);//同一块内存 //获取类信息方式二:类.class Class cP3 = Person.class; System.out.println(cP3==cP1); //获取类信息的方式三:Class的forName("哪个类");--->类名(类全名:包名+类名) //调用此方法会报:ClassNotFoundException异常 try { Class cP4 = Class.forName("com.xdl.ref.Person"); System.out.println("cP1==cP4:"+(cP1==cP4)); } catch (ClassNotFoundException e) { System.out.println("搞毛线啊,讨厌");// e.printStackTrace(); }
获取类中方法的方式
Method [] methods = mYClass.getDeclaredMethods(); for (Method method : methods) { System.out.println("方法的修饰符:"+Modifier.toString(method.getModifiers())+",方法名称:"+method.getName()); }
获取类中属性的方式
Field [] fields = mYClass.getDeclaredFields(); for (Field field : fields) { System.out.println("属性的修饰符:"+Modifier.toString(field.getModifiers())+"属性名称:"+field.getName()); }
0 0
- Android反射机制(一)
- 反射机制(一)
- 反射机制(一)
- 反射机制(一)
- 记录android反射机制【一】
- 漫谈反射机制(一)
- Java反射机制(一)
- 论 反射机制 (一)
- java反射机制(一)
- Java 反射机制(一)
- java反射机制(一)
- JAVA反射机制(一)
- Java反射机制(一)
- 关于反射机制(反射机制的理解一)
- android反射机制(二)
- 候捷谈Java反射机制(一)
- 候捷谈Java反射机制(一)
- 候捷谈Java反射机制(一)
- 如何旋转PDF文件中的某一个页面
- 再谈java两种变量(基本类型和引用类型)(综合各路大神)
- Always On Top
- java网络编程____UDP入门小demo
- u3d美术制作规范总结
- Android反射机制(一)
- C++ 基础(五) —— 语句
- Paas SaaS
- 实现iOS前台时的推送弹窗效果
- 重新解读剑指Offer之3题 二维数组查找续
- 远程调试Ambari Metrics System
- equals和==的区别
- JAVA读取USB扫描枪
- python解析与组装json