JavaEE总结(2)——注解&反射

java 通过反射获取类上注解,方法上注解,注解里的值及方法参数 java 通过反射获取类上注解,方法上注解,注解里的值及方法参数,项目为maven项目。导入时记得选择maven项目 立即下载

注解&反射

  1. 注解

什么是注解

注解(Annotation),也叫元数据,标签(便利贴),注释。注解有时候,也叫注释,但是容易和java的注释混淆, 一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

注解的作用

①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】比如api文档;

②代码分析:通过代码里标识的元数据对代码进行分析【使用反射】

(可以通过反射 看这个类有没有注解,有注解的时候,代码应该怎么写,没有注解的时候,应该怎么写)

注解的使用

注解怎么写:

@ + 注解的名称  -- 比如@Overridev ->注解

它可以贴在方法,类,字段....

注解3要素

  1. 需要有一个注解;(有一个标签)
  1. 使用这个注解(这个注解贴在什么地方);
  1. 第三方程序为注解实现功能;

使用场景

注解作用:

  • 在框架里面使用
  • @Override 可以检查 是否是覆写的方法、测试@Test等等
  1. 反射

什么是反射

  1. 建立知识共识
  2. 要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载;
  3. Java类如果不被Java虚拟机加载,是不能正常运行的;
  4. 我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类已经被加载了;

相对官方解释:

  1. 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力;
  2. 在运行时期,动态地去获取类中的信息(类的信息,方法信息,构造器信息,字段等信息);

反射的作用

1、增加程序的灵活性,避免将程序写死到代码里(解除硬编码的问题);

2、Java的反射机制它知道类的基本结构,可以动态的去获取类这样的结构的结构;

3、可以让程序员在不知道其它程序员会有什么类的时候就编写完成自己的代码;

4、反射的优点:灵活,功能强大(可以拿到私有的....);

5、反射的缺点:破坏封装,影响性能;

反射常用API

  1. java.lang.Class
  2. java.lang.reflect.Constructor
  3. java.lang.reflect.Method
  4. java.lang.reflect.Field
  5. 注意: lang包下面的直接类型是自动导入的,但是lang包的子包中的类型需要我们自己导入的,到时候不要忘记了哦

获得Class实例

类、接口、数组、基本数据类型和void

需要:获得String类中有哪些字段

1、Class中有获得一个类中成员(字段)的方法

Field[] getFields()

2、首先获得Class对象

 Class的对象包括类、接口

需要获得String对象的Class的对象 String.class

测试获得对应的Class示例的方式:

  1、Class中的一个静态方法 Class.forName(String className)

2、Object的getclass()方法

3、类名.class

创建类的方式

创建类的方式

1、通过构造方法new

2、通过工厂获得

3、通过类提供的静态方法

4、通过反射

①在Class中提供一个方法用来创建对象的

<T> newInstance()创建此Class对象所表示的一个新实例

②通过得到的构造器对象Construct对象来创建一个对象

获得构造方法

获得类中指定的方法

使用Field获得字段

反射小结

  1. 虽然外面可以操作类中私有的成员了,但是从某种程度上讲破坏了封装,所以非常特殊的时候才可能用到;
  2. Class类的实例可能是不同的类型的(类,接口,数组。。。),而我们对类,接口或者数组的操作是不一样的(例如:你得到的Class实例是一个接口,而你还想尝试通过反射去得到其中的构造方法,这显然是不合适的),所以在Class中还提供了很多判断Class实例是什么类型的方法:
千兆以太网的接收和crc校验 解析该以太网帧,包括统计该以太网帧长度+过滤功能(端口号对不对,是否为udp协议)+CRC校验,将解析结果存入状态fifo,一旦状态fifo开始有数,就开始开启读过程,读过程开始时,首先读状态fifo,根据从状态fifo里面读出的以太网帧长度,来读数据fifo(这样能够防止跨帧读),然后在根据状态fifo里面读出的crc校验正确标志和过滤标志,来确定是否将数据fifo读出来的数据送给下一个模块。改掉之后在抓一下,可以看到抓出来的数据完全正确,从最后开始看,除去4个crc校验的尾巴,数据是到255结束的。 阅读详情

相关推荐

银河麒麟V10 SP3系统下如何安全安装gcc-toolset-10(附yum仓库避坑指南)

本文详细介绍了在银河麒麟V10 SP3系统中安全部署gcc-toolset-10的完整方案。核心在于通过配置默认禁用的yum仓库(如EPKL仓库)并配合--enablerepo参数进行精准安装,有效规避依赖冲突风险,实现与系统默认GCC 7.3的稳定共存。文章还提供了多版本环境切换、系统维护及故障排查的实用指南,确保操作的可控与可逆。

h0i1j2k3l的博客 590

JavaEE——Spring中存取Bean的注解

Spring中存取Bean的注解

xh1605004242的博客 1393

Kaamel白皮书:IoT设备安全隐私评估实践

明确评估的目的和预期结果。

kaamelai的博客 1317

JavaEE复习回顾十一: (基础加强) 类加载器 && 注解 && 动态代理

参考文章: 1,动态代理——从一窍不通到恍然大悟 2,UML类图与类的关系详解   一,类加载器 1.1 什么是类加载器,作用是什么? 一个自己编写的 Java 代码源文件,起运行的过程主要分为三个阶段。 第一个阶段: SOURCE 级别,即源码阶段,已经写完代码,还未编译运行 第二个阶段: CLASS 级别, 即字节码 阶段,是写完代码,经过编译后的。 第三个阶段:RUNTIM...

十里の清风 269

FPGA实战:给你的UART串口通信加上Verilog奇偶校验位(Modelsim仿真验证)

本文详细介绍了如何在FPGA中实现UART串口通信的Verilog奇偶校验功能,包括发送端校验位生成和接收端校验检测的设计与实现。通过Modelsim仿真验证,确保数据传输的可靠性,适用于嵌入式系统和数字通信领域。

weixin_34216614的博客 341

详细解释SigLIP的原理,为什么有些多模态模型喜欢用他?怎么应用于机器人控制呢

详细解释SigLIP的原理,为什么有些多模态模型喜欢用他?怎么应用于机器人控制呢。

具身机器人和通用AI 1230

JavaEE企业级应用开发教程实验九Spring MVC的核心类和注解

在src\main\java文件夹中创建com\sun\controller文件夹,在文件夹中创建FirstController类。在src\main\java\com\sun\controller文件夹中创建AuthController类。在src\main\java\com\sun\controller中创建MethodController类。在src\main\java\com\sun\controller中创建ParamsController类。2.掌握@Controller注解的使用。

Annzz123的博客 955

【LLM评估篇】Ceval | GAIA | MMLU benchmarks

- 一些大模型的评估模型: - 多轮:MTBench - 关注评估:agent bench - 长文本评估:longbench,longeval - 工具调用评估:toolbench - 安全评估:cvalue,safetyprompt等 本文还介绍了其他主流的大模型评估指标等及其使用

发现问题,并解决问题,批判性思维 6947

反射与注解(详细)

文章目录一、注解Annotation1、什么是注解2、内置注解3、元注解4、自定义注解二、反射机制**1、静态vs动态语言**动态语言静态语言2、java反射机制概述3、java反射机制研究及应用**反射机制提供的功能**优点缺点反射相关主要APIclass类class的常用方法获取class类的实例哪些类型有class对象?4、java内存分析static关键字类的加载过程类的加载和ClassLoader的理解什么时候会发生类的初始化?类加载器的作用双亲委派机制ClassLoader源码分析获取类加载器的

qq_43377329的博客 3244

华为OD面试手撕真题 - 最大数

华为OD面试手撕真题 最大的数 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 342

【WRF-Chem Emissions教程第一期】WRF-Chem 排放概述

WRF-Chem 排放概述

WW、forever的博客 852

反射-JavaEE

JavaEE中的反射(Reflection)指的是通过Java代码动态地获取类、方法、属性等信息的机制。JavaEE应用程序通常需要处理大量的类和对象,有时候我们需要在代码中动态地获取这些类、对象的信息或者动态地创建这些对象,这就需要利用反射机制。JavaEE(Java Enterprise Edition)是Java平台上的一种开发规范和标准。它包含了一系列API和技术,可以帮助开发者构建企业级的Java应用程序。

SAME_LOVE的博客 350

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JavaEE初阶---properties类+反射+注解

1.配置文件properities 2.快速上手 3.常见方法 3.1读取配置文件 3.2获取k-v值 3.3修改k-v值 3.4unicode的说明 4.反射的引入 4.1传统写法 4.2反射的写法(初识) 4.3反射的介绍 4.4获得class类的方法 4.5所有类型的class对象 4.6类加载过程 4.7类初始化的过程 4.8类加载过程 4.9获取类的运行时结构 4.10动态创建对象 4.11获取成员属性方法 4.12性能测试 5.反射的应用 5.1操作泛型 5.2操作注解 6.注解annotati

大学成长道路上的探索经历与点滴思考,与君共勉,共筑成长。 1632

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JavaEE笔记——枚举,注解,反射,内省

一.枚举 目录 一.枚举 定义格式: 例子: 枚举类的主要方法 实现接口的枚举类 枚举的注意事项 二.注解 注释与注解 什么是注解 内置注解 元注解 什么是元注解 有哪些元注解 自定义注解 注解结构 定义格式 注意事项 案例 三.反射 什么是反射 类加载器 类加载器的关系图 委派加载 类加载器的使用 所有类型的Class对象 得到Class的几种方式 获取Constructor 获取Method 获取Field 四.内省 什么是内省 内省的逻

qq_36279562的博客 499

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaEE-Java开发框架的基础-注解机制

JavaEE-Java开发框架的基础-注解机制 文章目录JavaEE-Java开发框架的基础-注解机制概述常见标识性注解自定义注解@Retention@TargetAnnotatedElement接口注解应用实例 概述 Annotation(注解)工作方式: 从java1.5以后,jdk提供了注解开发,开发者可以自定义注解。Annotation并不影响代码的语义,但是它的工作方式常被用来开发程序工...

JunsIr的技术栈 990

反射和注解

从JDK5开始,Java增加了Annotation(注解),Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。(1)自定义注解时,需要使用@interface用来声明一个注解,其会自动继承java.lang.annotation.Annotation接口。【格式:】public @interface 注解名 {定义体}【或者:】public @interface 注解名 {类型 value() default 默认值;

m0_59961940的博客 1862

Day39 注解,反射

使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口分析:@interface用来声明一个注解,格式:public @interface注解名{定义内容}其中的每一个方法实际上是声明了一个配置参数.方法的名称就是参数的名称.返回值类型就是参数的类型(返回值只能是基本类型、Class、String、enum)可以通过default来声明参数的默认值如果只有一个参数成员,一般参数名为value()

weixin_69595694的博客 1249

JavaEE注解讲解(上)

JavaEE注解讲解 JavaEE里面不乏会出现很多很多的注解,这里到底是什么意思呢,他们的作用又是什么呢。 Java注解的定义 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类: ①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】 ② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】 ③

wanghan_ak的博客 980

反射注解

反射注解 开发工具与关键技术:myEclipse javaEE 作者:林国佳 撰写时间:201806027 通过反射来获取注解 生成 mysql表 先自定义两个注解 存放 表的属性 2. import java.lang.annotation.ElementType; 3. import java.lang.annotation.Retention; 4. import java.l...

街角 253

java 注解与反射

注解与反射注解 java.annotation反射 java.reflection 注解 java.annotation //------------通过自定义注解,了解四个元注解的作用:------------ //@Traget :定义注解可以在什么地方有效,传参为枚举类型 @Target(value = {ElementType.METHOD,ElementType.TYPE}) //@Retention :注解作用域:在什么地方有效 // runtime &gt; class &gt; sou

回炉重造的程序员 1163

JavaSE -- 注解+反射

注解 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能, 忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如 用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗 代码和XML配置等。 未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以 上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的 Struts2有一部分也是...

六道 411

注解与反射

注解(Annotation)是从JDK5.0开始引入的技术,以在代码中存在,例如:Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、成员变量、参数、局部变量的声明,还可添加一些参数值注解也可以看做是一种注释,通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。但是,注解,不同于单行注释和多行注释在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任

记录学习历程 843

JavaEE反射注解

什么是注解: 格式@xxxx 给jvm看的,解析时候用到 注解在目前而言最主流的应用:代替配置文件 关于配置文件和注解开发的优缺点: 注解优点:开发效率高 成本低 在一定程度上取代配置文件 注解缺点:耦合性大,并且不利于后期维护 JDK1.5提供的注解: @Override:告知编译器此方法是覆盖父类的:JDK1.6还可以表示实现接口的方法 @Deprecated:标注果实。国寿的方法不建议使用,...

weixin_44355915的博客 290

Java注解&枚举&反射学习笔记

注解 注解其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。 通过使用注解,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。 代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 使用 使用注解时要在其前面增加@符号,并把该注解当成一个修饰符使用。用于修饰它支持的程序元素。 Annotation 可以像修饰符一样被使用,可用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明,这些信息被保存在Annotation的"name=v

weixin_44736938的博客 216

注解和反射

注解和反射 注解 ​ Annotation。对程序做出解释,可以被其他程序读取。 ​ 格式: ​ @注解名(value=“xxx”) ​ 在哪里使用? ​ package、class、method、field 内置注解 @Override //表示一个子类重写超类的一个方法 @Deprecated //不鼓励程序员使用 @SuppressWarnings //用来抑制编译时的警告 元注解 ​ 作用:负责注解其他注解。用来提供对其他annotation类型作说明。 @Target //用

code_Floyed的博客 2805
上一篇: sql优化相关
下一篇: JavaEE总结(3)——Mysql
肥肥的八月
博客等级 码龄10年 18粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值