六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 46|回复: 0

java反射机制

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-2-3 14:35:35 | 显示全部楼层 |阅读模式
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Admin {
public Admin(){

}
private String id = "";

public String getId() {
System.out.print(id);
return id;
}
public void setId(String id) {
this.id = id;
}

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

String str="com.spring.event.Admin";
Class c=Class.forName(str);
Object obj=c.newInstance();

//        这里是里设置属性的值
Method m = c.getMethod("setId",new Class[]{Class.forName("java.lang.String")});
m.invoke(obj,new Object[]{"penghao122"});

//        这里是里获取属性的值
    m = c.getMethod("getId",new Class[]{});
m.invoke(obj,new Object []{});
   

   
}

}

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Admin {
public Admin(){

}
private String id = "";

public String getId() {
System.out.print(id);
return id;
}
public void setId(String id) {
this.id = id;
}

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

String str="com.spring.event.Admin";
Class c=Class.forName(str);
Object obj=c.newInstance();

//        这里是里设置属性的值
Method m = c.getMethod("setId",new Class[]{Class.forName("java.lang.String")});
m.invoke(obj,new Object[]{"penghao122"});

//        这里是里获取属性的值
    m = c.getMethod("getId",new Class[]{});
m.invoke(obj,new Object []{});
   

   
}

}

这个是反射的经典例子。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表