首页 > 学院 > 开发设计 > 正文

通过JAVA反射,调用未知类的类方法

2019-11-14 14:58:22
字体:
来源:转载
供稿:网友

   下面是一个比较简单的通过java的反射机制调用已知方法的例子

package com.togeek.mvntest;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * @author togeek 利用反射调用方法 * @address http://www.VEVb.com/togeek/ * @Date: 2015年11月29日18:01:31 */public class RefTest {    @SupPRessWarnings("unchecked")    public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalaccessException, IllegalArgumentException, InvocationTargetException {        Apple apple = new Apple();        apple.setName("我是苹果");        System.out.println("正常调用:"+apple.getName());        Class appleClass = apple.getClass();         Method m1 = appleClass.getDeclaredMethod("getName");         Method m2 = appleClass.getDeclaredMethod("setName", String.class);         System.out.println("反射调用:"+m1.invoke(apple));        System.out.println("反射set值:返回值为null----"+ m2.invoke(apple, "我是送给togeek的苹果!"));        System.out.println("再次调用:"+m1.invoke(apple));    }}class Apple{    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    }

结果:

正常调用:我是苹果反射调用:我是苹果反射set值:返回值为null----null再次调用:我是送给togeek的苹果!

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表