Fight With Me!!!

导航

JAVA 反射机制 获得 private 变量

  1. public class Triangle {  
  2.     // 定义三角形的三边  
  3.     protected long lborderA = 0;  
  4.   
  5.     protected long lborderB = 0;  
  6.   
  7.     protected long lborderC = 0;  
  8. }  

获得 protected 三个变量  (private 也一样)

    1.         Triangle  triangle = new Triangle(2, 2, 3);  
    2.   
    3. ry {  
    4.   
    5. Field title1 = triangle.getClass().getDeclaredField("lborderA");  
    6. title1.setAccessible(true);  
    7. Field title2 = triangle.getClass().getDeclaredField("lborderB");  
    8. title2.setAccessible(true);  
    9. Field title3 = triangle.getClass().getDeclaredField("lborderC");  
    10. title3.setAccessible(true);  
    11.   
    12. long lborderA = (Long) title1.get(triangle);  
    13. long lborderB = (Long) title2.get(triangle);  
    14. long lborderC = (Long) title3.get(triangle);

posted on 2016-08-17 20:27  nickTimer  阅读(1476)  评论(0编辑  收藏  举报