Java基础入门(十七)之反射

  • 介绍:

    java的反射机制,在运行状态中,对于任意的一个类,都知道任意一个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个属性和方法,这种动态获取信息以及动态调用方式,成为反射

  • 获取反射的Class文件方式三种

(1)Object类中的getClass()方法
(2)Class c=类名.class
(3)Class类中的静态方法forName

  • 注意事项:

(1)反射中所有的泛型都是?号
(2)反射方法中的返回值类型,都是Object类型

  • newInstance()

创建对象 相当于调用无参构造,完成对象的创建

  • 反射中的四个类

class (类对象)
Constructor(构造器对象)
Field(属性对象)
Method(方法对象)

  • 反射的步骤:

(1)导包 java.lang.reflect
(2)获取你想要的操作的class字节码对象
(3)调用方法
(4)操作信息

  • Constructor 构造器对象

无参构造 使用class类中的newInstance()方法创建对象
有参构造 获取Constructor构造器对象的方法 先获取构造器,然后再使用Constructor类中的newInstance()方法

  • Field 属性对象

1.被public修饰的属性

Field getField(String name) 返回一个 Field 对象,它反映此 Class
对象所表示的类或接口的指定公共成员字段。
Field类中的
void set(Object obj, Object value) 将指定对象变量上此 Field 对象表示的字段设置为指定的新值。
Object get(Object obj) 返回指定对象上此 Field 表示的字段的值。

2.所有的属性

Field getDeclaredField(String name) 返回一个 Field 对象,该对象反映此 Class
对象所表示的类或接口的指定已声明字段
Field 继承的方法
void setAccessible(boolean flag) 将此对象的 accessible 标志设置为指示的布尔值。

这里写图片描述

  • Method 方法对象

1.被public修饰的方法

Method getMethod(String name, Class<?>... parameterTypes) 返回一个 Method
对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。
Method类中的方法 Object invoke(Object obj, Object... args) 对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。

2.所有的方法

Method getDeclaredMethod(String name, Class<?>... parameterTypes) 返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值