欢迎使用CSDN-markdown编辑器

java反射机制


  • 两个关键类
    • Class类
    • Method类

Class类

  1. Java运行时始终为所有对象维护一个运行时的类型标识,保存这些信息的类就是Class类。
  2. 获取class类有三种方式
    1)对象.getClass()
    Integer i;
    Class c=i.getClass();

         2)通过Class静态方法Class.forName(String name)获得,类型名需要包括包名。

    String className="java.lang.Integer";
    Class c=Class.forName(className);

         3)类型.class获得

    Class c1=Date.class;
    Class c2=int.class;
    Class c3=Double[].class;

      3.通过Class类产生实例对象

    String s="java.util.Date";
    Object date=Class.forName(s).newInstance();

       注:此处产生实例是调用s类的默认构造函数,如无默认构造函数,则会产生异常。
              若果希望向产生的实例中传递参数,需要使用Constructor类中的newInstance()方法

      4.分析类

  • getFields、getMethods、getConstructors方法
          返回类提供的public域、方法和构造器数组,包括超类的公有成员。

  • getDeclareFields、getDeclareMethods、getDeclareConstructors方法
          返回类中声明的全部域、方法和构造器、其中包括私有成员和受保护成员,但不包括超类的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值