Java反射

概念

动态获取类的信息,就是反射。(在运行状态中,对任意一个类(class文件)),都知道这个类的所有属性和方法。

应用场景

对指定的类文件进行加载并获取其中的内容并调用时就需要使用反射机制。

优点

可以提供程序的扩展性

class对象

Class对象是对Java字节码文件的描述。
名称,字段,构造函数,一般函数。
该类可以获取字节码文件中的所有内容,反射就是依靠该类来完成的。
所以要获取一个类的信息,首先需要获取该类的字节码文件。

获取Class对象的方法

  • Object类中的getClass()方法;使用这种方式,需要明确具体的类并创建对象
  • 任何类型都局部一个镜头的属性.class来获取其对应的Class 对象,使用时需要明确是哪个类型。
  • 通过给定的类的字符串名称来获取该类的Class对象,可以使用Class类中的方法来完成。 Class t = Class.forName(“java.lang.Thread”)

通过反射创建新实例

  • Class.newInstance(); 调用默认的无参构造函数创建新实例
  • Constructor.newInstance(Xxx …args); 通过构造函数对象来创建有参数的对象实例。

获取类中的其他信息

  • 获取字段信息public Field[] Class.getDeclaredFields() //获取所有的字段
    • 获取字段信息public Field[] Class.getFields() //获取公共的字段
  • 获取字段信息public Field[] Class.getDeclaredFields()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值