java反射,能定义一个类吗?

JavaBurning 2012-03-22 04:47:34
各位大仙,
问一个关于反射的问题,java反射能定义一个类吗?我现用反射封装一个通用的方法,反射出来的是所有的字段。而我仅需要其中一部分的字段,想通过以数字的形式传字段进去,然后用反射定义另外一个类。不知道行不行?求解答。
例如:
	
private int id;
private String name;
private int age;
private String sex;
private String address;
private Date birthday;

我只想遍历的时候,只要
	
private String name;
private int age;

这两个字段,能不能用反射重新封装一个类,只包含这两个字段?
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
undefined_hu 2013-12-28
  • 打赏
  • 举报
回复
能说一下想法 不??????
JavaBurning 2012-03-31
  • 打赏
  • 举报
回复
问题已经解决了,感谢大家的回答,结贴了
qybao 2012-03-23
  • 打赏
  • 举报
回复
LZ这么做的目的是什么,如果只需要使用某些字段,可以这些字段信息保存到一个Object的数组中
或者,直接用匿名类
for example
public class Test {
public static void main(String[] args) throws Throwable {
final String outname = "test";
final int outage = 123;
Object o = new Object() { //匿名内部类
String name;
int age;
{name = outname;
age = outage;
}

public void test() {
System.out.printf("%s,%d", name, age);
}
};

Class<?> c = o.getClass(); //但是这样只能用反射的方式来访问
Method m = c.getDeclaredMethod("test");
m.invoke(o);
}
}
安特矮油 2012-03-23
  • 打赏
  • 举报
回复
不行的,要么你就动态生成java文件并且编译成class然后加载,再通过反射生成对象。
要么就把需要的字段提取出来生成一个父类
dryZeng 2012-03-23
  • 打赏
  • 举报
回复
好像没其它方法了,要不你直接定义一个只有这两个属性的类?然后你现在的类继承它,再添加其它属性?
JavaBurning 2012-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 killer_jok 的回复:]

楼主要重新封装一个类,就必须动态生成JAVA文件同时编译它,
下面应该能够解决你的问题
http://www.oschina.net/question/54100_38561
[/Quote]

感谢楼上的回答,但是这样字符串并接,用流写JAVA文件和直接写JAVA类没什么区别。
七_号 2012-03-22
  • 打赏
  • 举报
回复
楼主要重新封装一个类,就必须动态生成JAVA文件同时编译它,
下面应该能够解决你的问题
http://www.oschina.net/question/54100_38561

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧