java 反射机制
来源:互联网 发布:淘宝免费试用 编辑:程序博客网 时间:2024/06/11 01:07
1.反射机制得到class
代码机构
代码块 One.java 要反射的class
package controller;public class One {private String name = "名字";//名字public int age = 1;//年纪/*public One(String name,int age) {// TODO Auto-generated constructor stubSystem.out.println("构造函数里面"+ name);System.out.println("构造函数里面" + age +"" );}*//** * 私有的 * @param name */private void oneDemo_private(String name){System.out.println("普通方法里面_私有_有参数"+ name);}public void oneDemo_public(){System.out.println("普通方法里面_没有参数"+ name);System.out.println("普通方法里面_没有参数" + age +"" );}public void oneDemo(String name, int age){System.out.println("普通方法里面"+ name);System.out.println("普通方法里面" + age +"" );}public static void oneStatic_Demo(String name, int age){System.out.println("静态普通方法里面"+ name);System.out.println("静态普通方法里面" + age +"" );}}
实现代码块 Two.java
package controller;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import net.sf.ehcache.config.TerracottaConfiguration.Consistency;public class two {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubnew two().getClass_01();}//得到class 方法public void getClass_01() throws Exception {//根据反射机制 得到类 (里面必须有包,因为是一个字符串)Class forName = Class.forName("controller.One");if (forName != null) {System.out.println("获得成功");System.out.println(forName);//得到对象里面的参数Field field = forName.getField("age");Object newInstance = forName.newInstance();//clss 转 Object Object object = field.get(newInstance);//放入对象,告诉field 是谁的参数System.out.println(object);//访问私有的参数Field declaredField = forName.getDeclaredField("name");declaredField.setAccessible(true);//强行暴力访问,把他的私有变了Object object2 = declaredField.get(newInstance);System.out.println(object2);}// 获取方法if (forName != null){//获取公用的,没有参数("方法名字","参数")Method method = forName.getMethod("oneDemo_public", null);Object newInstance = forName.newInstance();//clss 转 Object 这个是普通类// 获得构造函数 //传 构造函数的(参数)//Constructor constructor = forName.getConstructor(String.class,int.class);//Object newInstance2 = constructor.newInstance(constructor);//启动方法(Object,参数)method.invoke(newInstance, null);////////获取私有用的,没有参数("方法名字","参数类型")Method method_private = forName.getDeclaredMethod("oneDemo_private", String.class);method_private.setAccessible(true);//强行解析method_private.invoke(newInstance, "下次V;扩大过得更好菲利克斯干坏事嘎嘎叫噶;就爱");}}}
0 0
- 【反射】JAVA反射机制
- 【Java】JAVA反射机制
- Java 反射机制[Field反射]
- Java 反射机制[Method反射]
- Java反射机制笔记-反射机制
- java的反射机制
- Java的反射机制
- java反射机制详解!
- Java反射机制
- Java的反射机制
- java 反射机制--侯捷
- java反射机制
- java反射机制
- [候捷]Java反射机制
- java 反射机制
- java 反射机制初探
- 关于Java反射机制
- java反射机制
- Android HandlerThread使用及原理分析
- mybatis 中parametertype的传入参数问题
- 冒泡排序算法(Bubble Sort) Java实现
- 关于ipa包安装失败的总结
- Ubuntu安装rmatlab2016a
- java 反射机制
- POJ 3356 AGTC(算法导论15-5编辑距离) 经典dp
- 122. Best Time to Buy and Sell Stock II
- Effective C++ 读书笔记(二)
- python中 and和or用法
- Android IntentService使用及原理分析
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- 第126-134课:Spark Streaming源码经典解读
- java 字符串截取的几种方式