【数据结构】反射、枚举以及lambda表达式

一、定义

Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任
意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信
息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。

二、用途

  1. 在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统
    应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法 。
  2. 反射最重要的用途就是开发各种通用框架,比如在spring中,我们将所有的类Bean交给spring容器管理,无
    论是XML配置Bean还是注解配置,当我们从容器中获取Bean来依赖注入时,容器会读取配置,而配置中给的
    就是类的信息,spring根据这些信息,需要创建那些Bean,spring就动态的创建这些类。

三、反射基本信息

Java程序中许多对象在运行时会出现两种类型:运行时类型(RTTI)和编译时类型,例如Person p = new
Student();这句代码中p在编译时类型为Person,运行时类型为Student。程序需要在运行时发现对象和类的真实
信心。而通过使用反射程序就能判断出该对象和类属于哪些类。

四、反射相关的类

类名 用途
Class类 代表类的实体,在运行的Java应用程序中表示类和接口
Field类 代表类的成员变量/类的属性
Method类 代表类的方法
Constructor类 代表类的构造方法

相关推荐

  1. 数据结构反射以及lambda表达式

    2024-03-13 13:50:02       18 阅读
  2. 反射,以及lambda表达式

    2024-03-13 13:50:02       5 阅读
  3. 数据结构-算法

    2024-03-13 13:50:02       13 阅读
  4. C++复合数据类型:结构体|

    2024-03-13 13:50:02       33 阅读
  5. C# 语言类型(三)—数组/类型/结构

    2024-03-13 13:50:02       14 阅读
  6. C# 语言类型(三)—数组/类型/结构

    2024-03-13 13:50:02       10 阅读
  7. C# 语言类型(三)—数组/类型/结构

    2024-03-13 13:50:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 13:50:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 13:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 13:50:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 13:50:02       20 阅读

热门阅读

  1. HTML学习笔记

    2024-03-13 13:50:02       20 阅读
  2. Mybatis获取主键值

    2024-03-13 13:50:02       23 阅读
  3. Redis 订阅发布(Pub/Sub) 详解 如何使用订阅发布

    2024-03-13 13:50:02       19 阅读
  4. 1261. 在受污染的二叉树中查找元素

    2024-03-13 13:50:02       20 阅读
  5. apisix http请求转发插件by lua

    2024-03-13 13:50:02       17 阅读
  6. python面向对象练习二

    2024-03-13 13:50:02       19 阅读
  7. pytorch升级打怪(二)

    2024-03-13 13:50:02       17 阅读