java的反射机制带来的好处_java注解原理

java的反射机制带来的好处_java注解原理什么是反射Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法jdbc(数据库连接技术)在加载驱动时运用到了反射技术例如:实例化对象第一种:Personp=newPerson()虚拟机在执行的时候已经确切知道要实例化哪个类的对象第二种:反射:虚拟机在实例化对象的时候,可以事先不知道要实例化哪个类的对象,传参的时候虚拟机根据参数确定要实例化哪个类的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是反射

Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法
jdbc(数据库连接技术)在加载驱动时运用到了反射技术

在这里插入图片描述
例如:实例化对象
第一种:
Person p = new Person()
虚拟机在执行的时候已经确切知道要实例化哪个类的对象

第二种:
反射:虚拟机在实例化对象的时候,可以事先不知道要实例化哪个类的对象,传参的时候虚拟机根据参数确定要实例化哪个类的对象
根据参数不同,虚拟机可以实例化任意类型对象

两种相同点:都是实例化对象,但利用反射实例化对象时更灵活

在这里插入图片描述
在这里插入图片描述
执行Class.forName的时候,类加载器会根据参数fanshe.Person去找这个类
把这个类加载到虚拟机,同时获取这个类的Class对象
每个类都有Class类型的对象
这个对象保存了对应对象的元信息(属性,方法,构造函数)
接下来在调用newInstance方法来实例化对象

在这里插入图片描述

反射优点

动态创建对象(需要创建哪个类的对象,就传哪个类)
在这里插入图片描述

在这里插入图片描述

利用反射技术获取类的信息

利用反射技术获取类的属性、方法、构造函数

获取类的属性和方法
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193293.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月28日 下午12:15
下一篇 2025年11月28日 下午12:43


相关推荐

  • 构建私有云,需要考虑哪些要点?

    构建私有云,需要考虑哪些要点?私有云让企业能够保护并控制应用程序和数据 同时让开发团队能够更快速 更顺畅地提供业务价值 但是虽然构建私有云有望彻底改变 IT 要是没有认真的规划和准备 它也无异于是一次成本高昂的科学试验 下面这十个要点有助于确保成功 1 让利益相关者参与进来 私有云并不是纯粹的 IT 项目 将来实际使用的各个业务部门都应该参与进来 搞清楚规范和可交付成果 云改变了 IT 部门和业务部门之间的关系 双方都要参与其中 搞清

    2026年3月18日
    1
  • no-referrer-when-downgrade什么意思

    no-referrer-when-downgrade什么意思

    2021年11月6日
    73
  • Gitlab-CICD最简单明了的入门教程

    Gitlab-CICD最简单明了的入门教程CICD是什么?由于目前公司使用的gitlab,大部分项目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段时间后感觉还不错,因此总结一下介绍gitlab的CICD之前,可以先了解CICD是什么我们的开发模式经历了如下的转变:瀑布模型->敏捷开发→DevOps(Development、Operations的组合词,是一组过程、方法与系统的统称)后来随着DevOps的兴起,出现了持续集成(ContinuousIntegration)、持续交付(Co

    2022年6月3日
    213
  • 点积和叉积在计算机图形学的应用

    点积和叉积在计算机图形学的应用点积和叉积在计算机图形学中 是最为基础且重要的概念 初学者弄清它的概念的应用 是很重要的 先说明下 以下均采用列向量的表示方法 和线性代数书本上的行向量不同 采用列向量表示 则表达为列向量左乘矩阵 只是定义的不同 其他含义没有什么不同 点积点积在数学中 又称数量积 dotproduct scalarproduc 是指接受在实数 R 上的两个向量并返回一个实数值标量的二元运算 它是欧几里得空间的标准内积 点积的结果是一个数 a b a b cos overrightarr a

    2026年3月19日
    2
  • linux服务器u盘挂载,Red Hat Linux 挂载U盘

    linux服务器u盘挂载,Red Hat Linux 挂载U盘在我们安装的 RedHatLinux 中 其中一半机器为最基本的服务器配置 没有桌面环境 在从 U 攀上拷贝文件的时候可就犯难了 在网上查了查才知道 所以要访问软就必须先将它们装载到 Linux 系统的 mnt 目录中来 装载 U 盘的步骤如下 挂 u 盘之前 运行命令 cat proc partitions 看看现在系统中有哪些分区 插上 u 盘以后 再次运行上述命令 看看多出来什么分区 通常是 sda1 由于我是

    2026年3月18日
    2
  • AI自动化神器n8n,保姆级教程来了!

    AI自动化神器n8n,保姆级教程来了!

    2026年3月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号