反射记录

Java反射是一种机制,可以在运行时检查、调用和实例化类,无需在编译时确定类的名字。使用反射可以动态地获取类的信息,并在运行时操作类的属性、方法和构造函数。

反射常用的方法名及作用介绍如下:

1. `getClass()`:获取对象的Class对象,即获取对象所属的类的信息。

2. `getMethods()`:获取公共方法的数组,包括从父类继承的方法。

3. `getDeclaredMethods()`:获取所有方法的数组,包括私有方法。

4. `getMethod(String name, Class<?>... parameterTypes)`:根据方法名和参数类型获取方法对象。

5. `getDeclaredMethod(String name, Class<?>... parameterTypes)`:根据方法名和参数类型获取私有方法对象。

6. `invoke(Object obj, Object... args)`:调用方法,obj表示调用该方法的对象,args表示方法的参数。

7. `getField(String name)`:根据字段名获取字段对象。

8. `getDeclaredField(String name)`:根据字段名获取私有字段对象。

9. `newInstance()`:创建对象实例。

10. `getConstructor(Class<?>... parameterTypes)`:根据参数类型获取构造函数对象。

11. `getDeclaredConstructor(Class<?>... parameterTypes)`:根据参数类型获取私有构造函数对象。

12. `newInstance(Object... initargs)`:根据构造函数创建对象实例。

通过使用这些反射方法,可以实现一些动态的操作,比如动态调用方法、获取和修改字段的值、创建对象实例等。但是由于反射涉及到动态性和灵活性,效率上可能不如直接调用,因此在使用时需要注意性能问题。
posted @   sensen~||^_^|||&  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示