是否有可能使用任何java反射来改变任何属性(类,方法或其他) ?我可以使用java反射API更改类成员吗?
-3
A
回答
3
是的。你甚至可以使用反射来编辑私人成员。一些库和框架(例如Hibernate和Wicket)会执行此操作。但我不会推荐你自己去做,除非你有一个很好的理由。
import java.lang.reflect.Field;
class Something {
private String name = "Hello";
public void printName() {
System.out.println(name);
}
}
public class Example {
public static void main(String[] args) throws Exception {
Something s = new Something();
s.printName();
Field field = s.getClass().getDeclaredField("name");
field.setAccessible(true);
field.set(s, "Goodbye");
s.printName();
}
}
+0
Thnkx ...即使它是一个愚蠢的qstn ..我是绝对试着把样品帖子:P – 2012-03-30 06:59:32
2
看看BeanUtils的,这将允许你这样做,而不直接与反思工作。更容易和更简洁: http://commons.apache.org/beanutils/
除非你真的想要得到你的手脏与反思,我会建议使用像BeanUtils的一个抽象层来工作。
相关问题
- 1. 使用Java反射检索成员类
- 2. 我可以使用反射发现Java类声明的内部类吗?
- 3. 使用反射查找类成员值
- 4. 我当我使用Java反射API
- 5. 是否可以使用反射从Java类中检索所有成员,包括私有成员?
- 6. 如何使用Kotlin反射更改成员字段?
- 7. 通过使用Java中的反射访问和修改私有类成员
- 8. 有更快的方式使用反射访问类的属性成员吗?
- 9. 我可以使用java api修改Hive分区位置吗?
- 10. 用反射改变java类超类
- 11. 你可以在GWT客户端中使用Java反射api
- 12. Python:使用反射来从类名称中调用类成员
- 13. 可以通过Java反射在Spring中更改Annotated Tractional属性吗?
- 14. 我们可以更改java使用的unicode版本吗?
- 15. 我可以更改XmlReader.Settings吗?
- 16. 我可以在Java中更改变量的声明类型吗?
- 17. 我可以使用反射缩短此代码吗?
- 18. 我可以使用PHP反射来提取功能代码吗?
- 19. 我可以使用Java反射获取方法字段名称吗?
- 20. 我可以使用vue.js更改css类吗?
- 21. (How)我可以使用C#.Net中的反射查询类“后期构建”吗?
- 22. 我可以使PDOStatement-> fetchObject不使用非成员变量吗?
- 23. 如何使用反射从Scala访问Java静态成员?
- 24. 使用Java反射初始化成员变量
- 25. Java反射类
- 26. 我可以使用任何API在StreamSet中映射表列吗?
- 27. JNI回调函数可以使用类成员吗?
- 28. 我可以更改Asana API应用程序的所有权吗?
- 29. 可以在实现可分段接口的对象上使用java反射吗?
- 30. 我可以使用班级成员的散列码吗?
为什么你没有谷歌? – 2012-03-30 06:52:21
你甚至看过[网页](http://docs.oracle.com/javase/tutorial/reflect/) – radimpe 2012-03-30 06:53:07