* getFields()与getDeclaredFields()区别:getFields()只能访问类中声明为公有的字段,私有的字段它无法访问.getDeclaredFields()能访问类中所有的字段,与public,private,protect无关

* getMethods()与getDeclaredMethods()区别:getMethods()只能访问类中声明为公有的方法,私有的方法它无法访问,能访问从其它类继承来的公有方法.getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它类继承来的方法

* getConstructors()与getDeclaredConstructors()区别:getConstructors()只能访问类中声明为public的构造函数.getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关

package test;

public class Point1 {
private int x;
public int y;
public String a="asdasd";
public Point1() {}
public Point1(int i, int j) {
super();
this.x=i;
this.y=j;
}
}
public class fieldTest {
public static void main(String[] args) throws Exception {
Point1 point=new Point1(, );
Field fieldY=point.getClass().getField("y"); // y字段公有
System.out.println(fieldY);
System.out.println(fieldY.get(point)); Field fieldX=point.getClass().getDeclaredField("x"); //x字段私有
fieldX.setAccessible(true); //AccessibleTest类中的成员变量为private,故必须进行此操作
System.out.println(fieldX.get(point)); //如果没有在获取Field之前调用setAccessible(true)方法,异常 Point1 point2=new Point1(); Field[] fields=point.getClass().getFields(); //把Point1函数中的String字段做改动
for(Field field:fields) {
if (field.getType()==String.class) {
String oldValue =(String) field.get(point2);
String newVaule =oldValue.replace('a', 'b');
field.set(point2, newVaule);
System.out.println(field.get(point2));
}
} }
}
输出结果
public int test.Point1.y bsdbsd

最新文章

  1. 【CentOS】文件与目录管理
  2. ORM系列之二:EF(2)Code First
  3. OD使用教程
  4. myeclipse与数据库进行连接(无需写代码进行验证)
  5. LeetCode 解题报告--202Happy Number
  6. 微信开发第2章 通过appid appsecret获取accesstoken
  7. 关于perl闭包(个人理解)
  8. Java的动态加载及其安全性问题
  9. Wincc flexable的数据记录的组态
  10. Qt+QGis二次开发:加载栅格图层和矢量图层
  11. C/C++基础----特殊工具和技术 (重载new和delete,RTT,限定作用域的枚举类型,类成员指针,嵌套类,局部类,volatile,链接指示 extern “C”)
  12. linux删除文件夹下除了某一个文件之外的所有文件及find用法
  13. Linux(Ubuntu12.04)上玩儿STC单片机(转)
  14. mysql5.7 java读取乱码
  15. Android-------------fragment的学习
  16. PROFIBUS-DP现场总线的结构及应用
  17. 网络服务器搭建的那些事(PV QPS Throughput) 转载
  18. Metronic 对话 chat
  19. 集合框架小结-List
  20. Python全栈开发之6、正则表达式

热门文章

  1. 1px移动端显示问题
  2. python3+openCV实现图片的人脸人眼检测,原理+参数+源代码
  3. Louis Armstrong【路易斯·阿姆斯特朗】
  4. 在virtualBox中打开vdi(转载)
  5. 格雷码Gray Code详解
  6. U1
  7. (ADO.NET)SqlCommand参数化查询
  8. 第2章c++简单程序设计
  9. 【ansible】使用ansible安装nginx
  10. Python抓取视频内容