黑马程序员-------- 浅谈JAVA反射机制

黑马程序员入学Java知识——精华总结 黑马程序员入学Java知识——精华总结   J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结!   一、黑马程序员—java概述与基础知识 6 1、何为编程? 6 2、Java语言概述,历史、特点 6 3、什么是跨平台性?原理是什么?JVM 7 4、Jre和Jdk的区别? 7 5、java虚拟机JVM 8 6、 Java程序运行机制 8 7 阅读详情

---------------------- android培训、java培训、期待与您交流! ----------------------

 

最近,发了将近一个月的时间对JAVA基础进行了全面的复习,下面谈谈本人对JAVA反射机制的一些了解。

1. 什么是JAVA的反反射机制

Java反射是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部成员信息,包括其modifiers 、superclass 、实现的interfaces,也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。

Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。

换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构。

2、Java类反射中所必须的类:
      Java的类反射所需要的类并不多,它们分别是:Field、Constructor、Method、Class、Object,下面我将对这些类做一个简单的说明。
Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封装反射类的属性的类。
Constructor类:提供关于类的单个构造方法的信息以及对它的访问权限。这个类和Field类不同,Field类封装了反射类的属性,而Constructor类则封装了反射类的构造方法。
Method类:提供关于类或接口上单独某个方法的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。 这个类不难理解,它是用来封装反射类方法的一个类。
Class类:类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
Object类:每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

3.JAVA反射的常规使用步骤

    反射调用一般分为3个步骤:

        得到要调用类的class

        得到要调用的类中的方法(Method)

        方法调用(invoke)

        Class cls = Class.forName("className");   

        Method m = cls.getDeclaredMethod("methodName",parametersOfMethod.class});   

        m.invoke(new className(),value);

结束语:
Java语言反射提供一种动态链接程序组件的多功能方法。它允许程序创建和控制任何类的对象,无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。Java reflection 非常有用,它使类和数据结构能按名称动态检索相关信息,并允许在运行着的程序中操作这些信息。Java 的这一特性非常强大,并且是其它一些常用语言,如 C不具备的。

但反射有两个缺点。第一个是性能问题。用于字段和方法接入时反射要远慢于直接代码。性能问题的程度取决于程序中是如何使用反射的。如果它作为程序运行中相对很少涉及的部分,缓慢的性能将不会是一个问题。即使测试中最坏情况下的计时图显示的反射操作只耗用几微秒。仅反射在性能关键的应用的核心逻辑中使用时性能问题才变得至关重要。

 

---------------------- android培训、java培训、期待与您交流! ----------------------

详细请查看:http://edu.youkuaiyun.com/heima

微信DAT图片恢复全攻略:从文件定位到批量解密(附最新路径变化) 本文提供了一份详尽的微信DAT图片恢复指南,涵盖新旧版本文件路径变化解析、DAT文件定位方法以及批量解密操作步骤。针对微信图片加密存储为DAT格式的痛点,文章介绍了高效易用的图形化解密工具,帮助用户将加密文件快速还原为JPG、PNG等可查看格式,并强调了数据安全与隐私保护的重要性。 阅读详情

相关推荐

QT邂逅豆包API:打造专属文章生成神器

通过本次探索,我们成功基于 QT 调用豆包 API 开发出了文章生成工具。从前期的准备工作,到核心代码的实现,再到功能的拓展与优化,每一步都凝聚着技术的魅力与挑战。我们学会了申请豆包 API 密钥,搭建 QT 开发环境,创建网络请求类来与豆包 API 进行交互,构建请求体并解析响应,还为工具添加了友好的界面交互,提升了性能。

大雨淅淅的博客 1972

黑马程序员——Java反射机制

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制,用一句话总结就是:反射就是把java类中的各种成分映射成相应的java类。

BigHeart的专栏 570

Sentinel-1 Burst数据处理避坑实录:从aria2c报错到wget脚本救场

本文详细介绍了Sentinel-1 Burst数据处理的完整解决方案,从下载困境到高效处理技巧。针对aria2c报错等常见问题,提供了增强版wget脚本和智能分组方法,显著提升下载成功率和处理效率,特别适合科研机构和企业级网络环境下的哨兵数据处理需求。

weixin_42641998的博客 284

黑马程序员——java基础——反射机制的学习

android培训、java培训期待与您交流!     一、反射的概念 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高! 二、反射的作用: 1、反

黑马程序员——ItBin2015的博客 875

从Canny到深度学习:边缘检测指标进化史(含ODS/OIS/AP的数学推导)

本文系统梳理了边缘检测评估指标的演进历程,从经典的Canny算子到深度学习时代,重点解析了ODS、OIS和AP三大核心指标的设计哲学与数学推导。文章深入探讨了基于PR曲线的评估体系,揭示了不同指标(如ODS与OIS)在阈值优化上的差异,并分析了AP指标在边缘检测任务中的优势与局限,为算法研究和模型评估提供了实用指南。

b9c0d的博客 199

下载MNIST数据集并使用python将数据转换成NumPy数组(源码解析)

下载MNIST数据集并使用python将数据转换成NumPy数组首先来分析init_mnist函数接下来继续分析load_mnist函数实现数据集转换的python脚本的代码显示MNIST图像并确认数据 下载MNIST数据集并将数据转换成NumPy数组的Python脚本里面最重要的就是load_mnist函数,其他项目想要调用数据集的话,就可以调用load_mnist函数,得到一个字典类型的数据,字典的值是一个Numpy数组。 这些过程是如何实现的,现在开始逐字逐句分析源码: 在load_mnist函数中第

及时总结 4268

黑马程序员_Java反射机制

------- android培训、java培训、期待与您交流! ---------- 类的加载:     当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类的初始化。      加载:         就是指将class文件读入内存,并为之创建一个Class对象。         任何类被使用时系统都会建立

县令的专栏 447

全球气候模式降尺度方法总结及其代码实现

简介总结各类型气候模式降尺度方法

WW、forever的博客 1万+

黑马程序员——Java 反射机制

------- android培训、java培训、期待与您交流! ---------- Java反射机制 ------- android培训、java培训、期待与您交流! ----------

毒匠的专栏 1476

摆脱英文束缚!群晖Transmission4.0.4全新中文界面攻略

在群晖安装完官方Transmission4.0.4套件后,界面是英文状态的,不太好用。但是按照网上分享的原来4.0以前版本的方法更新UI又失败,所以自己搞了下成功了,分享给需要的朋友。

XiaoqiangClub的博客 5213

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

Coding... 2851

黑马程序员——java的反射机制

------- android培训、java培训、期待与您交流! ---------- 前言:通过观看毕向东老师的java基础视频,查漏补缺,将一些自己掌握的还不牢固的知识写出来,希望和大家交流分享。 1.反射技术是java在运行的时候获取类的基本信息。 2.反射技术在三大框架struts2,Hibernate,Spring中有广泛应用。

hgdswj的博客 1048

基于 Simulink 的双向 DC/AC 逆变器中 IGBT/MOSFET 寄生参数影响分析实战教程

摘要:本教程详细解析了Simulink中IGBT/MOSFET寄生参数对双向DC/AC逆变器的影响。通过对比理想模型与含寄生参数(如20nH内部电感、50nH回路电感)的仿真,揭示了电压尖峰、高频振荡等实际问题。建模步骤包括搭建基准电路、引入寄生参数、配置高精度求解器(步长10ns),并给出抑制措施:添加RC缓冲电路、调整驱动电阻。关键发现:寄生参数会显著增加开关损耗和EMI噪声,需通过参数扫描优化设计。教程还提供了代数环报错、仿真速度优化等实战技巧,帮助工程师从理想仿真过渡到高保真分析。

xiaoheshang_123的博客 68

【黑马程序员】Java反射机制

Java程序中的许多对象在运行时都会出现两种类型,编译时类型和运行时类型:例如代码:Fruit f = new Apple();,这个代码会创建一个对象也就是变量,该变量的编译时类型为Fruit,运行时类型为Apple。还有一种情况,在程序调用某个方法的时候,需要传入一个外部对象,该对象的编译时类型为Object但在方法中又需要调用该对象运行时类型的方法。         解决以上问题有两个方法

whight的专栏 532

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

黑马程序员 java反射机制

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------   在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法。 在运行时调用任意一个对象的方法  Reflection 是Java被视为动态(或准动态)语言的一个关键性质

FengLu369的专栏 813

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

黑马程序员_反射机制

-------android培训、java培训、期待与您交流! ---------- 反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序。 使用反射,在设计或运行中添加新类时,能够快速的应用开发工具动态的查询新添加类的能力。 能够分析类能力的程序被称为反射(reflection)。反射机制的功能极其强大,在下面的章节中可

u013963996的专栏 625

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

黑马程序员_JAVA反射机制

Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java 语言的反射机制在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Ja...

chengweijun8866的博客 226

黑马程序员---java反射机制的实现原理

——- android培训、java培训、期待与您交流! ———-  反射机制就是java语言在运行时拥有一项自观的能力。 通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。 下面具体介绍一下java的反射机制。这里你将颠覆原来对java的理解。  Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method; 其中class代表的时类

ChaoYangMemory的博客 545

黑马程序员——反射机制

------- android培训、java培训、期待与您交流! ----------   Class类(反射的基石) Java中的类是用来描述同一类事物的,比如, Person,Animal等等,而java中的类也同属于一类事物,对于这些类就用Class类来描述, Class对象又称作字节码对象,数组和void也是数据类型   得到一个类的Class对象又三种方式 1.

yiminren的专栏 558

黑马程序员-反射机制

——- android培训、java培训、期待与您交流! ———-问题1: Class类是什么?有什么作用?Class类是所有类的基类,是每一个类放在内存中的字节码。 通过Class类可以知道,每一个类中的所有组成部分。包括类中属性,该类的构造函数,该类所拥有的方法等内容。问题2:如何获得一个类的Class类的字节码实例对象,三种方法(以Person类为例):1)Class cls1 = Pers

qq_30468305的博客 556

黑马程序员——java基础笔记:反射机制

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-一:反射机制的概念 反射,从字面来理解,就是反着来,我们正常的习惯是通过对象来调用属性和方法,反射机制给我们提供了一种方法,可以通过方法或属性来调用对象。 我们说java是面向对象的语言,n那么在java里,一切都是对象,所以类也是对象,方法也是对象,他们都是Class类的对象,可以说,Class类正是反射的源头。

Luffyworld的博客 510

黑马程序员_java的反射机制

------- android培训、java培训、期待与您交流! ----------

求知者 401
上一篇: 反向搜图片的网站
下一篇: 黑马程序员———JAVA容器学习笔记
laester
博客等级 码龄19年 36粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值