java反射

定义:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

例子一:用反射修改类属性和调用类方法

public static void main(String[] args) {
       //用反射修改name属性
            Dog d=new Dog();
          Class cla=d.getClass();
         Field[] declaredFields = cla.getDeclaredFields();
         for (int i = 0; i < declaredFields.length; i++) {
              Field fs=declaredFields[i];
              System.out.println(fs.getName());
              if(fs.getName().equals("name")) {
                  //获取修改属性方法名
                  String set="set"+fs.getName().substring(0, 1).toUpperCase()+fs.getName().substring(1);
                  try {
                    Method ms=cla.getDeclaredMethod(set,fs.getType());//获取方法
                        ms.invoke(d, "wangwu");   //调用set修改器方法    
                    } catch (Exception e) {    
             e.printStackTrace();
    
              }
        }
         System.out.println(d.getName());
}

posted on 2019-04-23 20:43  袁音元音i  阅读(80)  评论(0)    收藏  举报