java反射

反射和范型的组合大量的应用在框架的架构中,通过对反射和范型的学习有助于理解框架的原理,以下是对反射过程的练习,本人菜鸟一个:
  //给的只是个路径:com.test.reflex.Student,测试反射相关的info
            String path="com.test.reflex.Student";
            //Student student=new Student();
            Class class1=Class.forName(path);
            //使用反射的过程中一般根据string获取对应的class
            //Class class1=student.getClass();
            System.out.println("字段的info如下所示:");
            Field[] field=class1.getDeclaredFields();//获取的是字段,包括私有的,getFields不能得到private修饰的
            for(int i=0;i
                  System.out.println(class1.getName()+"中的字段有"+field[i]);
            }
          System.out.println("构造的参数如下所示:");
          Constructor[] constructor=class1.getConstructors();
          for(int i=0;i
                System.out.println("构造的名字为:"+constructor[i].getName());
              TypeVariable[] variable= constructor[i].getTypeParameters();
              for (int j = 0; j < variable.length; j++) {
                  System.out.println(variable[i].getName());
            }
             
          }
         
          System.out.println("方法的相关的信息");
         
          Method[] methods=class1.getDeclaredMethods();
          for (int i = 0; i < methods.length; i++) {
                System.out.println("方法的名称:"+methods[i].getName());
              Class[] variable= methods[i].getParameterTypes();
              if(variable!=null){
                    System.out.println("执行啦");
                    for (int j = 0; j < variable.length; j++) {
                        System.out.println("参数的类型是:"+variable[j].getName());
                  }
              }
              Class class2= methods[i].getReturnType();
              System.out.println("方法的返回类型是"+class2);
             
      }
         
          System.out.println("类的修饰符为:"+Modifier.toString(class1.getModifiers()));
          //通过这种方式可以获取类的修饰符
          System.out.println("该类所实现的接口为:"+class1.getInterfaces()[0].toString());
          //假设它实现了一个接口
          System.out.println("该类继承了那些类:"+class1.getSuperclass());
          //在java中只有单继承,故getSuperclass可一获取其父类
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值