`
wenzongliang
  • 浏览: 449513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java反射实例

 
阅读更多

Method add=clazz.getMethod("add", new Class[]{Integer.class,Integer.class});

add.invoke(o, new Object[]{new Integer(1),new Integer(1)});

 

Field i=clazz.getDeclaredField("i");//对私有的处理

i.setAccessible(true);//对私有的处理

i.get(o);

i.set(o, 2);

 

 

 

 

 

//Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,

  //如果参数为基本类型数据,必须转换为相应的包装类型的对象。

  //invoke()方法的返回值总是对象,
  //如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,

class MyClass{

private Integer i = 12;

public static String s = "ss";

private String s1 = "";

private double d = 2.3;

 

public MyClass() {

 

}

 

public MyClass(String s1, Double d) {

this.s1 = s1;

this.d = d;

}

 

public int add(Integer numberA, Integer numberB) {

return numberA + numberB;

}

 

public static String addString(String s1, String s2) {

return s2 + "_" + s1;

}

}

 

public class Test {

 

public static void main(String args[]) throws ClassNotFoundException, SecurityException, NoSuchFieldException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException{

Class clazz = MyClass.class;

//Class clazz=实例.getClass();

//Class clazz=Class("包名.类名");

 

//静属性方法

//获得

Field static_s=clazz.getField("s");

Method static_addString=clazz.getMethod("addString", new Class[]{String.class,String.class});

//使用

static_s.set(null, "aa");

static_s.get(null);

 

static_addString.invoke(null, new Object[]{"wen","zong"});

 

//////////////////////////////////////////////////////////////////////////////////////////

 

//普通属性方法

//获得

Field i=clazz.getDeclaredField("i");//对私有的处理

Method add=clazz.getMethod("add", new Class[]{Integer.class,Integer.class});

 

//生成对象

//Object o=clazz.newInstance();无参数时

Constructor cst=clazz.getConstructor(new Class[]{String.class,Double.class});

Object o =cst.newInstance(new Object[]{"s1",new Double(10)});

 

 

//使用

i.setAccessible(true);//对私有的处理

i.get(o);

i.set(o, 2);

add.invoke(o, new Object[]{new Integer(1),new Integer(1)});

 

/////////////////////////////////////////////////////////////////////////////////////////////

 

//验证

System.out.println(static_s.get(null));//aa

System.out.println(static_addString.invoke(null, new Object[]{"wen","zong"}));//wen_zong

System.out.println(i.get(o));//2

System.out.println(add.invoke(o, new Object[]{new Integer(1),new Integer(1)}));//2

}

 

}

我的话费充值店-各种面额
电信100元仅售98.60 

联通100仅售99.00
移动100仅售99.30

分享到:
评论

相关推荐

    java反射实例代码

    一个java普通工程,反射的所有方法和实例都有,,另外还有注释,可以帮助理解

    Java反射实例源码

    Java反射实例源码,具体讲解内容见博客http://blog.csdn.net/liushuijinger 菜鸟学编程(九)——Java反射机制(一) 菜鸟学编程(十)——Java反射机制(二)

    java 反射实例,大量注释,简单易懂

    一个java反射的例子,通过java反射机制,动态生成java实例,动态执行方法。例子中有大量注释,简单易懂。

    Java 8个反射实例

    Java 8个反射实例 项目实例 项目工程

    java 反射 实例

    java 反射 的 实例介绍 个人笔记

    Java反射经典实例

    Java反射经典实例 Java反射经典实例 Java反射经典实例 Java反射经典实例

    java反射实例.

    反射入门小程序.通过反射机制执行JavaBean的get和set方法.

    Java反射简单小实例

    Java反射实例,可以给初学反射的同志们一定帮助。一个简单实例,可以更好的理解反射的规矩。

    Java反射实例

    常用的属性,方法和构造函数的获取实例,个人实际学习总结,亲测有效!

    java反射实例学习

    很好的几个反射的例子,看后就明白什么是反射了,反射机制怎么用了

    反射实例-JAVA反射机制.doc

    反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...

    java反射经典实例

    java反射经典实例 看完之后,基本满足你要做的事情,其中包括修改各种私有属性,调用私有方法的例子代码。简单干练。

    Spring IOC 原理 ,Java 反射实例,自定义注解

    NULL 博文链接:https://zyqwst.iteye.com/blog/2255560

    Java反射机制总结

    这是一本关于Java反射机制论文集合的书。其中包含基本的理论及各种实例。... 关键字有:Java Java反射机制 Java反射 Java反射理论 Java反射实例 Java反射例子 反射原理 反射 网络论文 集合 汇总 总结 Class。

    Java 反射机制 代码的实例

    Java 反射机制 代码的实例 请认真阅读 运行此代码 只要读懂了 反射机制也就明白了

    Java反射应用实例

    代码主要实现了Java反射应用实例, 包含利用反射方法创建对象(使用默认构造函数和自定义构造函数),访问对应对象的方法(包括带参数的和不带参数的),访问对应对象的域(Field). 从这里可以看到代码的详细解说:...

Global site tag (gtag.js) - Google Analytics