`
constant
  • 浏览: 27670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 反射机制

    博客分类:
  • java
阅读更多

1 java反射的常规使用步骤:

  • 得到要调用类的class
  • 得到要调用类的method,传入method名和参数类型
  • 方法调用
  • # Class cls = Class.forName("chb.test.reflect.Student");   
    # Method m = cls.getDeclaredMethod("hi",new Class[]{int.class,String.class});   
    m.invoke(cls.newInstance(),20,"chb");
     

2 方法调用的参数

    如果是基本类型,不能使用它的包装类型。如int.class 不能用Integer.class代替

3 static的方法调用

  跟第一步一样,就是调用的时候,不需要实例。

  如m.invoke(cls,20,"ztk");

 

4 private 域的访问和修改

   Class cls = Class.forName(".....");

   Field field = cls.getDeclaredField( "age" );  

   fileld.setAccesible(true);

   field.setAge(49);

   field.get("..");

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics