Java基础之反射、异常、泛型、注解

Java系列全面总结:泛型+异常+反射+集合+注解+Lambda表达式等详解 Lambda表达式的举例1.lambda创建线程2.lambda事件处理3.lambda遍历List集合4.元素排序5.lambdaMap6.lambda过滤String7.lambda对集合应用函数8.lambda计算最大值、最小值、平均值。在过去的时间中,我写过Java基础的整个系列,为了方便大家的阅读,也为了让知识更系统化,这里我单独把Java基础系列一并罗列于此,希望对有用的人有用。Java注解分类1、Java自带的标准注解2、元注解3、自定义注解。Java反射详解入门+使用+原理+应用场景。... 阅读详情

1.反射

每一个类都有一个class对象,.class文件保存着class对象,类加载相当于class对象的加载。

反射可以提供运行时的类信息,并且这个类可以在运行时才加载进来,甚至在编译时期该类的 .class 不存在也可以加载进来。

Class 和 java.lang.reflect 一起对反射提供了支持,java.lang.reflect 类库主要包含了以下三个类:

  • Field :可以使用 get() 和 set() 方法读取和修改 Field 对象关联的字段;
  • Method :可以使用 invoke() 方法调用与 Method 对象关联的方法;
  • Constructor :可以用 Constructor 的 newInstance() 创建新的对象。

反射的优点:

  • 可扩展性 :应用程序可以利用全限定名创建可扩展对象的实例,来使用来自外部的用户自定义类。
  • 类浏览器和可视化开发环境 :一个类浏览器需要可以枚举类的成员。可视化开发环境(如 IDE)可以从利用反射中可用的类型信息中受益,以帮助程序员编写正确的代码。
  • 调试器和测试工具 : 调试器需要能够检查一个类里的私有成员。测试工具可以利用反射来自动地调用类里定义的可被发现的 API 定义,以确保一组测试中有较高的代码覆盖率。

反射的缺点:

  • 性能开销大
  • 必须在一个有安全限制的环境中运行
  • 内部暴露:破坏抽象性、可移植性

       深入理解反射

2.异常

  • Error
  • Exception:受检异常、非受检异常

异常提高

3.泛型

(1)保证了类型的安全性:泛型约束了变量的类型,保证了类型的安全性。例如List<int>和ArrayList。List<int>集合只能加入int类型的变量,ArrayList可以Add任何常用类型,编译的时候不会提示错误。

(2)避免了不必要的装箱、拆箱操作,提高程序的性能:泛型变量固定了类型,使用的时候就已经知道是值类型还是引用类型,避免了不必要的装箱、拆箱操作。

(3)消除强制类型转换,可读性增加、减少出错的机会。

instanceof 运算符后也不能使用泛型类。

 

4.注解

起到说明、配置的功能,仅仅起到辅助性的作用。

eDP、DP与HDMI——现代显示接口的核心解析 eDP、DP和HDMI各有千秋:eDP以嵌入式设备的低功耗见长,DP凭借开放生态和高带宽成为专业领域首选,而HDMI则依靠庞大的消费电子生态稳居家庭市场。未来,随着Type-C接口的普及和超高清内容的爆发,三者的技术边界可能进一步融合,但各自的核心优势仍将长期共存。对于用户而言,选择接口需基于设备需求——游戏玩家青睐HDMI的VRR,设计师依赖DP的多屏扩展,而轻薄本则离不开eDP的紧凑设计。 阅读详情

相关推荐

超详细!思岚S2激光雷达hector_mapping建图

使用思岚S2激光雷达,在ros平台上利用hector_mapping功能包实现建图功能

m0_50965539的博客 5591

Android知识体系梳理(5)-Java基础篇-反射、异常、泛型、注解的基本概念和使用

六、反射 七、异常 八、泛型 九、注解

abliudede的博客 293

Visual Studio 2022 社区版安装指南:从下载到配置的完整流程

本文详细介绍了Visual Studio 2022社区版的完整安装与配置流程,包括系统要求检查、官方下载步骤、工作负载选择、安装位置配置等关键环节。作为微软推出的免费集成开发环境,VS2022社区版支持多种编程语言,适合个人开发者和小型团队使用。文章还提供了常见问题解决和性能优化技巧,帮助用户高效完成开发环境搭建。

weixin_28829339的博客 879

面试必备基础知识 — 反射、异常、泛型、注解

反射 反射(Reflection)它允许运行状态中的Java程序获取自身的信息,并且可以操作类 或对象的内部属性。 Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。— 来自百度百科 每个类都有一个Class对象 ,包含了与类有关的信息。 Class对象 的由来是,当编译一个类时,会产生一个 .

Z2Min_ 607

达梦数据库与sharding-jdbc的深度适配实践

本文详细介绍了达梦数据库与sharding-jdbc的深度适配实践,包括驱动与依赖管理、核心适配实现、注册与配置等关键步骤。通过扩展shardingSphere的方式,成功实现了达梦数据库的分库分表功能,并提供了常见问题解决方案和性能优化建议,助力企业级应用高效处理海量数据。

weixin_30300225的博客 623

【初阶】手把手教你轻松上手Denodo | 连接数据库并创建基本视图 (二)

在本教程的第二部分,我们将涵盖:连接到数据库,与创建基本视图。

Denodo的博客 1104

Java基础-泛型、反射、注解、异常

从各种资料, 书中整合, 不完善, 欢迎评论

fkidi的博客 287

Cadence OrCAD: 层次化设计 Hierarchical Design

详细介绍OrCAD的原理图层次化设计方法。

Fantasy237的博客 1万+

java异常、泛型和反射

(1)异常 异常的概念:所谓异常是指程序在运行过程中发生的一些不正常事件。(如:除0溢出,数组下标越界,所读取的文件不存在) 异常导致的结果:java程序的执行过程中如出现异常事件,可以生成一个异常类对象。该异常对象封装了异常事件的信息,并将其提交给java运行时系统,这个过程成为抛出异常,不处理的话会直接导致程序直接中断。 java的异常是通过两种机制来处理的 捕获:try-catch-

Bubble1210的博客 1396

从动态规划到最优控制:Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用

本文深入解析了Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用,从动态规划到最优控制的演变过程。通过实际案例展示了HJB方程在机器人路径规划、工业机械臂优化等领域的实践价值,并探讨了数值求解方法和深度学习结合的神经HJB前沿进展。

weixin_28700411的博客 453

c#仿热血江湖

Int32_1 = (int) table.Rows[i]["FLD_初级附魂"],Int32_2 = (int) table.Rows[i]["FLD_中级附魂"],Int32_3 = (int) table.Rows[i]["FLD_是否绑定"],Int32_0 = (int) table.Rows[i]["FLD_进化"],Form1.smethod_1(2, "加载百宝阁物品----没有百宝阁数据");Form1.smethod_1(2, "加载物品商店----没有物品数据");

weixin_42132177的博客 142

java反射泛型异常:argument type mismatch解决方案

最近使用java反射泛型的时候出现异常:argument type mismatch,经过debug排查终于解决,废话不说,直接上代码: javabean及相应的执行函数如下所示: public class RequestUploadXmlData { private Root root; /** * @return the root */ public Root g

klayer_cong的博客 10万+

SpringBoot 整合Jasypt 实现配置文件加密读取操作详解

SpringBoot 整合Jasypt 实现配置文件加密读取操作详解

congge 4099

JAVA基础学习(三)——反射、注解、泛型、集合、IO及异常等

本文汇总一下杂七杂八的知识,重要程度会在文中表述。一、反射在学golang时候接触过反射,但并没有看懂,这里温习一下。现在给你一个类Object,要获取他的字段,方法,父类等信息,如何做呢?知道这个类是啥,求上述信息很简单,但万一不知道呢?在测试中可能就会出现这种情况。反射就是程序在运行期间,获取对象的各种信息的过程。换句话说,根据class实例,获取class各种信息的过程就是反射。任何一个类class的实例都是由JVM动态加载实现的。

m0_45978228的博客 1845

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JAVA面试题---泛型、反射、注解、异常(JAVA基础)

知道。

Frank---7的博客 829

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

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

Day4 | Java基础 | 4 异常、泛型、反射、注解、SPI、I/O

/定义注解public @interface 注解名 {定义体}//注解属性[访问级别修饰符] [数据类型] 名称() default 默认值;Java通过API中Throwable类的众多子类描述各种不同的异常。因此,Java异常都是对象,是Throwable子类的示例,描述了一段出现在编码中的错误条件。当条件生成时,错误将引发异常。Java异常类层次结构图Throwable类:所有错误与异常的超类。

qq_44581505的博客 920

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java SE异常、泛型、注解和反射

JavaSE的常见面试题 - 泛型、异常、注解、反射

SuperLvMoTong的博客 230

【Java高级】枚举、泛型、注解、反射、异常处理、多线程、IO流

Java高级编程部分知识点:枚举、泛型、注解、反射、异常处理、多线程、IO流

weixin_64275663的博客 1475

没弄懂这些Java基础,简历上千万别写熟悉:异常+反射+注解+泛型

Retention 定义了该 Annotation 被保留的时间长短:表示需要在什么级别保存注解信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效),取值(RetentionPoicy)由:SOURCE:在源文件中有效(即源文件保留)CLASS:在 class 文件中有效(即 class 保留)RUNTIME:在运行时有效(即运行时保留)

2401_83916030的博客 1048

Java基础复习<Object、继承、反射、异常、泛型、注解等>

参考博文: GitHub项目CyC-Notes 一、Object native关键字 native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。 java是跨平台的语言,既然是跨了平台,所付出的代价就是牺牲一些对底层的控制,而java要实现对底层的控制,就需要一些其他语言的帮助,这个就是native的作用了 1、equal 等价关系 两个对象具有等...

迷之异常的博客 305

从零开始的 Java 基础学习 | 反射、异常、泛型、注解、特性

也可以使用 Class.forName (“com.mysql.jdbc.Driver”) 这种方式来控制类的加载,该方法会返回一个 Class 对象。Java 注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。当编译一个新类时,会产生一个同名的 .class 文件,该文件保存着 Class 对象。尽管反射非常强大,但也不能滥用。反射可以提供运行时的类信息,并且这个类可以在运行时才加载进来,甚至在编译时期该类的 .class 不存在也可以加载进来。...

澎湖Java架构师的博客 172

从零开始的Java基础学习 (七) | 反射、异常、泛型、注解、特性

七、反射 每个类都有一个 C...

庭前云落的博客 202

java 反射获取属性名和值_没弄懂这些Java基础,简历上千万别写熟悉:异常+反射+注解+泛型

前阵子弄到一个关于Java核心技术知识的文档,说要好好整理,现在已经整理完了。我这就来给大家一步步更新内容,先从Java基础知识开始吧!注:私信【基础】获取高清大图和完整PDF,还有更多Java进阶视频资料!私信【基础】获取高清完整大图Java异常分类及处理1、概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻...

weixin_39761822的博客 152

没弄懂这些Java基础,简历上千万别写熟悉:异常+反射+注解+泛型(1)

Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

afsdfrsg的博客 692

classcastexception异常_java基础:异常分类及处理+反射+注解+内部类+泛型+序列化+复制

JAVA 异常分类及处理概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。异常分类Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 ExceptionError1. ...

weixin_39665847的博客 217
上一篇: Java基础之继承
下一篇: Java容器的概述(Set、List、Map、Queue)
trytrylmt
博客等级 码龄9年 7粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值