当前位置: 首页 > java >正文

java--认识反射

1.首先我们先认识一下什么事反射, 简单来说, 反射就是在程序的运行状态下可以让我们获得他的所有属性和方法

2.反射的几个重要的类 : Class, Field, Methon, Constructor

3. Class : 

getClassLoader() : 获得类加载器 

getDeclaredClasses() : 返回一个数组, 这个数组包含该类的所有接口类和对象(包括私有的)

forName(String className) : 根据类名返回实例

newInstance() : 创建类的实例

getName() : 获得完整路径的名字

4. Filed

getField(String name) : 获得某个公有属性的对象

getFields() : 获得所有公有属性的对象

getDeclaredField(String name) : 获得某个公有属性的所有对象

getDeclaredFields() : 获得所有公有属性的所有对象

getAnnotation(Class annotationClass) : 返回该类中与参数类型匹配的公有注解

getAnnoations() : 返回所有类中与参数类型匹配的公有注解

getDeclaredAnnotation(Class annotationClass) : 返回该类中与参数类型匹配的所有注解

getDeclaredAnnotations() : 返回所有类中与参数匹配的所有注解

5. Method

getMethod(String name, Class...<?> parameterTypes) : 获得该类的某个公有的方法

getMethods() : 获得该类的所有公有方法

getDeclaredMethod(String name, Class...<?> parameterTypes) : 获得该类的某个方法 

getDeclaredMethods() :  获得该类的所有方法

调用私有方法时, 有个确认机制需要我们手动设置 --   .setAccessible(true)

6.Constructor 

getConstructor(Class...<?> paramterType) : 获得该类中与参数匹配的公有构造方法 

getConstructors() : 获得该类中所有公有构造方法

getDeclaredConstructor(Class...<?> paramterType) : 获得该类中与参数匹配的构造方法 

getDeclaredConstructors() :  获得该类中所有的构造方法

7. 获得 class 的三种方法 

通过获得的类可以进而获得他的方法和属性...

8.创建反射对象

9. 通过 Class对象 我们可以创建反射对象, 反射私有构造方法, 反射私有属性, 反射所有私有方法, 但是 Enum 对象反射无法得到, 因为在源码中特判了要是属于 Enum 对象, 无法被反射

http://www.xdnf.cn/news/13351.html

相关文章:

  • Java八股文——Spring「SpringMVC 篇」
  • 计算机视觉与深度学习 | 两种经典的低照度增强算法:多尺度Retinex(MSR)和自适应直方图均衡化(CLAHE)
  • 6个月Python学习计划 Day 21 - Python 学习前三周回顾总结
  • 【11408学习记录】[特殊字符] 速解命题核心!考研数学线性代数:4类行列式满分技巧(含秒杀公式)​
  • 游戏引擎学习第315天:取消排序键的反向顺序
  • python精讲之python基础
  • Seaborn入门到上头:让数据可视化变成享受的艺术(附防秃指南)
  • Node.js Conf 配置库要点分析 和 使用注意事项
  • Hive的索引使用如何优化?
  • JavaSE-Java简史
  • uni-app学习笔记三十六--分段式选项卡组件的使用
  • 【Java】Arrays.sort:TimSort
  • 1005. Maximize Sum Of Array After K Negations
  • 应用无法获取用户真实ip问题排查
  • 列表关联数据默认选中分析
  • MySQL 8.0 OCP 英文题库解析(十六)
  • GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南
  • 车载软件和整车电子架构正重新定义汽车行业
  • 浏览器拓展-玻璃质感下载管理器
  • < 买了个麻烦 (二) 618 京东云--轻量服务器 > 可以为您申请全额退订呢。 挣取来的,东京云 轻量服务器,可以“全额退款“
  • PyCharm Python IDE
  • 微机原理与接口技术,期末冲刺复习资料(六)
  • openeuler系统(CentOs)图形化桌面黑屏/丢失(开启VNC服务冲突)
  • gbase8s数据库获取jdbc/odbc协议的几种方式
  • 小米15系列摄影进阶:100+专业级相机预设包实测与调参指南
  • 解密Spring Boot:深入理解条件装配与条件注解
  • Python内置类型子类化的陷阱与解决方案
  • STM32的相关概念
  • synchronized 学习序章
  • 精读 2025 《可信数据空间标准体系建设指南》【附全文阅读】