易截截图软件、单文件、免安装、纯绿色、仅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中的反射机制中invoke典型用法

java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名")
Class.forName ("类名").newInstance
Class.getMethod ("调用的方法名",class[]{参数类列表})
instance.getClass
Method.invoke ("对象名","参数封装成的对象")
具体怎么实现,让我们来看一个简单的例子: ......

Java基础:第十八讲 String用法(上)

String是比较特殊的数据类型,它不属于基本数据类型,但是可以和使用基本数据类型一样直接赋值,不使用new关键字进行实例化。也可以像其他类型一样使用关键字new进行实例化。下面的代码都是合法的:
   String s1 = "this is a string!";
   String s2 = new String("this is another string!");
另 ......

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

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

JAVA面试题的问题

很久没有看JAVA了,随便找了几个题,已经都忘记了。
(1)JAVA和JAVAC 命令行
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件) ......

Java堆和栈的区别

栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号