黑马程序员技术交流社区

标题: 关于Class的getFields只能反射出public属性 [打印本页]

作者: xgm    时间: 2016-3-14 23:21
标题: 关于Class的getFields只能反射出public属性
  1. public class ReflectTest {

  2.         public static void main(String[] args) {
  3.                
  4.                 Field[] fs = A.class.getFields();
  5.                 System.out.println(fs.length); //结果为2,说明public定义的属性全部能被反射出来
  6.                
  7.                 Field[] fs1 = AA.class.getFields();
  8.                 System.out.println(fs1.length); //结果为零,说明其他修饰符定义的属性都不能用普通方法反射出来
  9.                
  10.                 Field[] fs2 = AA.class.getDeclaredFields();//暴力反射
  11.                 System.out.println(fs2.length);
  12.         }
  13.        
  14. }

  15. class A{
  16.         public String a = "aa";
  17.         public String b = "bb";
  18. }

  19. class AA{
  20.         protected  String a = "aa";
  21.         String b = "bb";
  22.         private String c = "cc";
  23. }
复制代码

作者: 13930972259    时间: 2016-3-14 23:41
这题有水平




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2