Java基础知识----反射

本文深入探讨了Java中的反射机制,包括如何获取Class对象、操作类信息、构造方法、属性以及方法。反射允许程序在运行时动态地获取类的信息并进行操作,如创建对象、访问私有成员等,极大地增强了代码的灵活性。
摘要由CSDN通过智能技术生成

反射概念

反射:将类的各个组成部分封装为其他对象,这就是反射机制

好处:可以在程序运行时操作那些类,比如获取类信息、接口、方法和属性

使用反射

一、获取Class类对象

一、引用类型

1.Class.forName(类的全路径名)

2.对象.getClass()

3.类名.Class

二、基本数据类型

类型名称.Class;

二、操作类对象

一、获取类信息

1.getName():获取类的全路径名            

2.getSimpleName():获取类的名称       

3.getSuperClass():获取父类的class对象 

4.getInterfaces():获取实现的所有接口

二、操作构造方法

调用构造方法来获取对象

getName():获取当前构造方法的名称
getParameterTypes():获取当前构造方法所有参数的类型
newInstance(Object... par):调用当前构造方法,创建一个java对象

三、操作属性

1.获取属性

Field[] getFields():获取所有的公共的属性包括继承的

Field[] getDeclaredFields():获取当前类的所有属性包括私有的

Field getField(String name):获取指定名称的属性 包括继承的

Field getDeclaredField(String name):获取指定名称的属性 包括私有的

2.操作属性

取值:Object get(Object obj)

赋值:void set(Object obj, Object value)

四、操作方法

1.获取方法

Method[] getMethods() 获取所有方法 包括继承的

Method[] getDeclaredMethods() 获取所有方法 包括私有

Method getMethod(String name,Class... para) 获取指定方法 包括继承的

Method getDeclaredMethod(String name,Class... para) 获取指定方法 包括私有的

2.操作方法

Object invoke(Object obj, Object... values)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值