易截截图软件、单文件、免安装、纯绿色、仅160KB

通过Java反射调用方法

通过Java反射调用方法
 
这是个测试用的例子,通过反射调用对象的方法。
 
 
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* File: TestRef.java
* User: leizhimin
* Date: 2008-1-28 14:48:44
*/
public class TestRef {
    public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
        Foo foo = new Foo("这个一个Foo对象!");
        Class clazz = foo.getClass();
        Method m1 = clazz.getDeclaredMethod("outInfo");
        Method m2 = clazz.getDeclaredMethod("setMsg", String.class);
        Method m3 = clazz.getDeclaredMethod("getMsg");
        m1.invoke(foo);
        m2.invoke(foo, "重新设置msg信息!");
        String msg = (String) m3.invoke(foo);
        System.out.println(msg);
    }
}
class Foo {
    private String msg;
    public Foo(String msg) {
        this.msg = msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public String getMsg() {
        return msg;
    }
    public void outInfo() {
        System.out.println("这是测试Java反射的测试类");
    }
}
 
控制台输出


相关文档:

Java基础:第十九讲 String用法(下)

本次介绍的String的方法包括:比较内容、大小写转换、前缀和后缀,并给出了一个例子。
比较字符串内容
两种形式。形式一如下:
方法定义:public boolean equals(Object o)
方法描述:比较是否与参数相同,区分大小写。
例如:
str.equals(“this”)
结果:
False
形式二如下:
方法定义:public boole ......

数组排序汇总 [Java]


 
package sort;

import java.util.Random;

/**
* 排序测试类
*
* 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。
*
* 关于排序 ......

每个Java初学者都应该搞懂的六个问题 [Java]

  对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
  问题一:我声明了什么!
 
String s = "Hello world!";
  许多人都做过这样的事情,但是 ......

Java newInstance()方法和new关键字区别

在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。
    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号