反射

1 篇文章 0 订阅
0 篇文章 0 订阅


Updated at 2019/7/12


定义

能够分析类能力的程序称为反射(reflective)。


作用

  • 在运行时分析类的能力
  • 在运行时查看对象
  • 实现通用的数组操作代码
  • 利用Method对象(暂时不懂)

Class类

三种方法获得Class对象

Employee e = new Employee();

//第一种
Class c1 = e.getClass();
System.out.println(c1.getName());

//第二种
//P.S. 必须要抛出异常
String className = "java.util.Random";
try {
    Class c2 = Class.forName(className);
    System.out.println(c2.getName());
}catch (ClassNotFoundException e1){
    e1.getStackTrace();
}

//第三种
Class c3 = Employee.class;
System.out.println(c3.getName());
  • Class对象表示一个“类型”,类型不一定是一种类。
    eg. int 不是类,但是int.Class是一个Class类型的对象。

  • Class是泛型类。

  • 虚拟机为每个类型管理一个Class对象,所以,可以比较两个类。

e.getClass() == Employee.class;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值