java反射(reflex)

三种方式

Class c1 = Class.forName("com.zheng.reflex.ReflexExample");
Class c2 = ReflexExample.class;
Class c3 = new ReflexExample().getClass();

获取属性值

ReflexExample reflexExample = new ReflexExample(1,"张三");
Class c = reflexExample.getClass();
Field[] declaredFields = c.getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
     Field df = declaredFields[i];
     Object value = df.get(reflexExample);
     String fieldName = df.getName();
     String fieldValue = String.valueOf(value);
     Boolean isInstanceOf = value instanceof Integer;
     System.out.println("name:"+fieldName+" value:"+fieldValue+" 类型:"+ yes);
}

获取构造的get方法

Method[] Methods = c.getDeclaredMethods();
for(Method method : Methods){
  if(method.getModifiers() == 1 && !method.isVarArgs() && !"void".equals(method.getReturnType().getName())){
     System.out.println("method:"+method.getName());
   }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,925评论 1 10
  • 要从废墟o
    poterlu阅读 237评论 0 0
  • 爱情,是多么美妙又那么微妙的事情。犹如一阵春风,轻轻的从身旁划过,暖暖的,痒痒的,嘴角不由的上翘,眼睛眯成...
    卓一凡阅读 323评论 0 2