01JavaSE
文章平均质量分 89
为初学者而著
CodingW丨编程之路
打造一个懂技术+懂业务+懂管理+略懂英语的社区
→ 高级后端架构师
能够独立负责项目0~1展开到落地
归纳为一句话
目标就是 技术 + 业务 + 管理 + 英语 -> 实现自我价值 -> 带领团队能够开展0~1项目到落地
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
01Java入门篇(D1_Java入门前的认知)
编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。编程就是写那些指令的过程,我们使用一种编程语言来实现这些指令的编写,这些指令被翻译成计算机能够读懂的格式,最后由计算机执行指令。计算机编程语言包括C语言、C++语言 Java语言、Python语言、数据库开发语言、其他编程语言。计算机编程语言是程序设计的最重要的工具,它是指计算机能够接受和处理的、具有一定语法规则的语言。很多人觉得编程是门高深莫测的学问, 担心自己学不来。原创 2024-08-08 23:10:22 · 1669 阅读 · 1 评论 -
02基本结构篇(D1_包)
包(package)就是java中打包好的一个文件夹,里面有很多可以使用的类。简单来说,包就就是用来分门别类的管理各种不同类的, 类似于文件夹、建包利于程序的管理和维护。例如:ArrayList是放在java.util这个包中,顾名思义,java.util包中放了很多工具类。使用java API的类是很简单的,把它当作是自己写的去用就行了。唯一的区别就是,需要在程序的某个地方指明函数库类的完整名称,即包的名称+类的名称。原创 2024-08-11 22:19:24 · 573 阅读 · 0 评论 -
02基本结构篇(D2_类-抽象类-接口-枚举-注解-数组)
我们知道,类用来模拟现实事物。一个类可以模拟一类事物,而某个类的一个实例化对象可以模拟某个属于该类的具体的事物。类中描绘了该类所有对象共同的特性,当一个类中给出的信息足够全面时,我们就可以实例化该类;比方说,在Dog类中定义了name,age,fur_color,sex等属性,以及habit,eat等行为时,我们就可以创建一个Dog类对象,来模拟某个具体的Dog,比如你家的宠物狗,或者是神犬小七等。但是,当一个类中给出的信息不够全面时,(比方说有无法确定的行。原创 2024-08-12 22:34:34 · 1292 阅读 · 0 评论 -
02基本结构篇(D3_内部类-代码块-数据类型-变量-常量-字面量-方法-构造器)
成员内部类:1、和成员变量一样,可以使用全部的四种权限修饰符和final修饰符2、在成员内部类里可以访问外部类的所有成员变量,调用所有方法,包括静态的。3、在成员内部类里可以定义非静态成员变量,也可以使用static final 定义静态成员常量,但是不能使用static定义静态变量4、调用成员内部类的方法和访问成员内部类里变量,需要先创建成员内部类对象创建成员内部类对象必须要先创建外部类对象a. 在外部类的内部创建对象并使用b. 也可以直接创建一个成员内部类对象(和权限修饰符有关)原创 2024-08-13 21:08:51 · 1309 阅读 · 0 评论 -
02基本结构篇(D4_注释-访问修饰符-标识符-关键字-运算符-流程控制语句)
Java注释是程序中用来给代码添加解释、说明和注解的特殊文本。它们不会被编译器识别为代码的一部分,仅用于人读取和理解代码。Java注释有三种不同的形式:单行注释、多行注释和文档注释。Java 语言中提供了三种注释方式:单行注释、多行注释和文档注释。它们分别用于解释代码的意图、实现方式或用途,并可以提高代码的可读性和可维护性。Java 中的关键字和保留字是有限的,它们有着特殊的含义,在代码中不能作为变量名或其他标识符。原创 2024-08-13 21:34:26 · 1169 阅读 · 0 评论 -
03API篇(D0_学习前言(Learning Preface))
用户从Internet下载Java字节码,并在自己的机器上运行。如今,要在浏览器中使用applet,这不仅需要一定的水平,而且要付出很大的努力。原创 2024-08-09 23:14:26 · 1127 阅读 · 0 评论 -
03API篇(D1_扫描器(Scanner))
java Random类位于java.util包下,主要用来生成随机数。Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。原创 2024-08-17 18:49:23 · 1297 阅读 · 0 评论 -
03API篇(D2_随机器(Random))
Scanner类是在jdk1.5版本引入的,它在java的util工具包下,主要用于扫描用户从控制台输入的文本。当我们需要通过控制台输入数据时,只需要事先导入java.util包中的Scanner类,然后调用Scanner类,我们的程序就能获取我们在控制台所输入的数据了。原创 2024-08-17 18:50:22 · 982 阅读 · 0 评论 -
03API篇(D3_系统类(System))
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。标准输入输出,如out、in、err外部定义的属性和环境变量的访问,如getenv()/setenv()和getProperties()/setProperties()原创 2024-08-17 18:48:44 · 574 阅读 · 0 评论 -
03API篇(D4_日期类(Date...))
一般常用的是Java.util.Date包下的Date类,在java.sql.Date包下也有一个Date类,sql包下的Date类主要用于和数据库打交道,其内容只包括日期,没有时间,util包下的Date类用于平常日期使用,其内容包括日期和时间。Date类表示系统特定的时间戳,可以精确到毫秒。Date类中的大部分方法都过时了或者被Calendar类中的方法所取代java.util.Calendar是日历类,是一个抽象类,在Date后出现,替换掉了许多Date的方法。原创 2024-08-15 14:09:34 · 969 阅读 · 0 评论 -
03API篇(D5_数值类(Number&Integer&BigInteger...))
Java.lang.Character类是一个将基础类型char值包装为一个对象,每一个Character类都只包含一个char字段Character类中的所有字段,方法,构造函数都由Unicode数据文件指定如果基本的整数和浮点数精度不能够满足需求,我们就就可以借助java.math包中的两个有用的类:BigInteger和 BigDecimal这两个类可以处理任意长度数字序列的数值。BigInteger实现类任意精度的整数运算,BigDecimal实现类任意精度的浮点数运算。原创 2024-08-15 23:24:33 · 1223 阅读 · 0 评论 -
03API篇(D6_比较器(Comparable&Comparator))
自然排序(comparable)、定制排序(comparator)内置比较器(Comparable)、外部比较器(Comparator)Comparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序。实现 Comparable 的类必须实现 compareTo(Object obj) 方法,两个对象即通过 compareTo(Object obj) 方法的返回值来比较大小1. 如果当前对象this大于形参对象obj,则返回正整数,原创 2024-08-17 08:36:57 · 1238 阅读 · 0 评论 -
03API篇(D7_克隆器(Cloneable))
Cloneable是标记型的接口(空接口),它们内部都没有方法和属性,实现 Cloneable来表示该对象能被克隆,能使用Object.clone()方法。如果没有实现 Cloneable的类对象调用clone()就会抛出CloneNotSupportedException异常。可以理解为Cloneable接口发挥的是标记功能,自定义类型需要用户自己标记出哪些类是可以clone的,这个标记就是去实现Cloneable接口,实现了Cloneable接口后就表明该类创建的对象可以被克隆。原创 2024-08-17 08:35:58 · 822 阅读 · 0 评论 -
03API篇(D8_祖宗类(Object))
Java是面向对象的编程语言,而在面向对象中,所有的Java类都有一个共同的祖先类,这就是Object。hashCode()是Object中的一个native方法,也是所有类都拥有的一个方法,主要是返回每个对象十进制的hash值。hash值是由hash算法根据对象的地址、对象中的字符串、数字等计算出来的。一般情况下,相同的对象应会返回相同的哈希吗值,不同的对象会返回不同的哈希码值。原创 2024-08-16 14:25:34 · 481 阅读 · 0 评论 -
03API篇(D10_工具类(Tool))
工具类定义的都是一些静态方法,每个方法都是以完成一个共用的功能为目的,它的好处就是内部都是一些静态方法, 每个方法完成一个功能,一次编写, 处处可用, 提高代码的重用性,一般建议工具类的构造器都私有化处理,因为工具类不需要创建对象!功能:返回由指定数组支持的固定大小的列表参数返回值:一个列表功能:将数组转换为字符串参数:待转化数组返回值:转化后的字符串都是将数组排序(默认升序,支持lambda,泛型)原创 2024-08-15 23:23:14 · 1140 阅读 · 0 评论 -
04面向对象篇(D1_OOA(D1_OOA - 面向对象分析))
首先面向对象不是一种技术, 而是一种编程思想。面向对象编程(Object Oriented Programming)就是把现实世界的具体事物全部看成一个一个的对象来解决问题所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出 的方法调用在编程时并 不确定,而是在程序运行期间才确定,即一个引用变量倒 底会指向哪个类的实例对象,该引用变量发出 的方法调用到底是哪个类中实现的 方法,必须在由程序运行期间才能决定。原创 2024-08-18 08:59:30 · 444 阅读 · 0 评论 -
04面向对象篇(D2_OOD(D1_OOD - 面向对象设计))
曾几何时,我们还是初识Hello World的时候,我们哪曾知道,Java这门神奇的语言,在执行我们的代码的时候,不是直接将我们所编写的Java代码交付给操作系统底层进行解析编译,而是采用了JDK来对Java代码进行编译,编译成dotClass文件后,将dotClass文件转交至JRE中。(dotClass其实就是.class)jre也就是JavaRunTimeEnvironment,java运行环境,因为在这里,存在着Java的秘密武器,也就是JVM!原创 2024-08-10 23:13:19 · 980 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D1_OOP - 基本介绍))
类名首字母大写(满足大驼峰模式)一个Java文件中可以定义多个class类, 但只能一个类是public修饰(称为主类)public修饰的类名必须成为代码文件名修饰符 数据类型 变量名称 = 初始化值;(一般无需指定初始化值,存在默认值)用于描述该类型对象共同的数据结构//属性int age;成员变量如果不赋初始值时,则系统会提供默认的初始值整型(byte short int long): 默认值为0浮点型(float double): 默认为0.0字符型(char):默认为空字符。原创 2024-08-18 09:00:18 · 532 阅读 · 0 评论 -
03API篇(D9_字符串(Char & String & StringBuilder & StringBuffer))
我们在开发中是不是经常会遇到这样的问题,比如你在IDEA中创建了一个工程,里面有Java语言程序和中文注释,有一天,根据工作需要,你要把其中的一部分Java源代码移植到Keil工程中,当你通过复制黏贴把相应文件移植到Keil工程中,并使用MDK打开时,却发现,你移植的文件Java语言程序是正常显示的,但是中文却成了一堆乱码,并且一编译各种莫名其妙的报错。这其实就有可能是你的IDEA和Keil使用了不同的编码方式,因为大部分编码兼容ASCII编码,而Java语言程序是英。原创 2024-08-16 10:49:14 · 1089 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D2_OOP - 类))
类名首字母大写(满足大驼峰模式)一个Java文件中可以定义多个class类, 但只能一个类是public修饰(称为主类)public修饰的类名必须成为代码文件名修饰符 数据类型 变量名称 = 初始化值;(一般无需指定初始化值,存在默认值)用于描述该类型对象共同的数据结构//属性int age;成员变量如果不赋初始值时,则系统会提供默认的初始值整型(byte short int long): 默认值为0浮点型(float double): 默认为0.0字符型(char):默认为空字符。原创 2024-12-14 22:30:25 · 987 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D3_OOP - 对象内存管理))
抽象类:就是用abstract关键字修饰的类当一个类中的某个方法的具体实现不能确定就可以声明成abstract修饰的抽象方法(不能写方法体)含有抽象方法的类, 必须定义为抽象类, 即这个类必须用abstract修饰,抽象类不一定一定含有抽象方法,抽象方法就是用abstract 修饰的方法,只有方法签名, 没有方法体!互斥关系abstract定义的抽象类作为模板让子类继承, final定义的类不能被继承抽象方法定义通用功能让子类重写, final定义的方法子类不能重写。原创 2024-08-20 07:30:12 · 760 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D4_OOP - 核心关键字))
我每天面对是计算机,从学习java语言开始,开始都jdk开始,配置JDK环境变量,然后Hellworld。然后进行一系列语法的数据,数据类型,循环,判断,运算,类,继承,接口,集合,Map,io。。。。。。。。。所有的语言的开发流程,运行流程以及执行流程其实都一样,如下:不同计算语言,虽然有不同语法结构或者语法糖,但是他们开发流程,以及运行流程其实一样的。计算机语言,它是一种人机交互和沟通的一种语言,既然是语言就必须有对应的语法和数据结构,语态等等。就好比,计算语言它是人和机器沟通桥梁。原创 2024-08-20 07:37:57 · 491 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D5_OOP - 综合))
hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整 数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义 在 JDK 的 Object.java 中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应 的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象)1:eqauls方法从哪里来的?原创 2024-08-20 22:27:16 · 1924 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D6_OOP - 练习))
总之,this 和 super 都是 Java 中的关键字,分别表示当前对象和父类对象。使用 this 可以调用当前类的属性和方法、调用本类的构造函数和返回当前对象。使用 super 可以调用父类的属性和方法、调用父类的构造函数和返回父类对象。总之,使用 static 可以方便地访问静态方法和属性,但需要注意静态方法不能访问非静态方法和属性、不能被重写、共享静态属性等问题。总之,final、finally 和 finalize 都是 Java 中的关键字。原创 2024-08-19 07:13:32 · 1638 阅读 · 0 评论 -
04面向对象篇(D3_OOP(D7_OOP - 面试题))
垃圾回收器(Garbage Collection ,GC),是JVM自带的一个线程(自动运行的),用于回收没有任何引用指向的对象。当一个引用值为null时,该对象没有任何引用指向,则该对象被视为废弃对象,属于被回收(GC线 程)范围。成员变量的生命周期: 从对象在堆中创建,到对象从堆中被回收为止。在main函数下面,有一个线程自动回收不用的对象,叫做守护线程。当类的信息加载到方法区时,类中的类方法的定义也被加载在方法区中。无论创建多少对象,所有的对象是公用方法区中一个方法的定义。方法中的变量叫:局部变量。原创 2024-08-19 07:12:47 · 718 阅读 · 0 评论 -
04面向对象篇(D4_OOT(D1_OOT - 面向对象测试))
面向对象软件由若干对象组成,通过对象之间的相互协作实现既定功能。交互既包含对象和其组成对象之间的消息,还包含对象和与之相关的其它对象之间的消息,是一系列参与交互的对象协作中的消息的集合。例如,对象作为参数传递给另一对象,或者当一个对象包含另一对象的引用并将其作为这个对象状态的一部分时,对象的交互就会发生。原创 2024-12-14 22:31:58 · 1549 阅读 · 0 评论 -
04面向对象篇(D5_Thinking(D1_Thinking - 思考))
说起这个问题,我也在网络上也搜索过很多的资料,大多摘录至书籍,比较官方化。原因是DDD没有明确规定所属的阶段,所以与哪些阶段比较都问题不大,主要是OO方法论与DDD方法论。较为好理解的是,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为。用OO的思想,更注重对象和属性来展开,DDD更偏重领域划分和他们之间的动态关系,同时也偏重行。在现实中OOA,OOD并没有显著的区分。OOA,OOD,OOP有时是不断的交替进行。,主要是将OOA的结果做进一步规范和整理、细化,便于OOP接受;原创 2024-12-14 22:33:10 · 711 阅读 · 0 评论 -
05容器篇(D1_数组)
在说数组之前,我们要理解一个概念:线性表。线性表是数据结构中最基本,最简单的一种。一个线性表是由n个具有相同特性的元素组成的有序序列。而我们今天要学习的数组就是线性表的一种。数组和线性表的关系就像是父子一样,数组更像是线性表的儿子,它继承了线性表特性的同时又拥有自己的特性。那什么是数组呢?数组(Array)是一种线性数据结构,它是由一段连续的内存单元组成,用来存储具有相同特性的数据。以上是常用的Java数组遍历方法,每种方法有其优缺点。在选择遍历方法时,应根据实际情况进行选择。原创 2024-08-22 09:15:58 · 1067 阅读 · 0 评论 -
05容器篇(D2_集合 - D1_从数组迈向集合?)
集合和数组一样都是容器,数组定义完成并启动后, 类型确定、长度固定,集合是Java中存储对象数据的一种容器,因为集合只支持引用类型, 不支持基本数据类型。如果需要存储基本数据类型, 需要存储基本数据类型对应包装类!Java 最初的版本只为最常用的数据结构提供了很少的一组类:Vector、Stack、Hashtable、BitSet与Enumeration 接口,其中 Enumeration 接口提供了一种用于访问任意容器中各个元素的抽象机制。原创 2024-08-22 19:27:58 · 882 阅读 · 0 评论 -
05容器篇(D2_集合 - D2_走进集合框架?)
Java的 Collection 框架是一组用于存储和操作对象的接口和类。它提供了一种方便的方式来管理和操作数据集合。Collection是Java集合框架的根接口,它定义了一些基本的操作和行为,如添加、删除、遍历等。它有两个主要的子接口:List 和 SetList是一个有序的集合,可以包含重复元素。它提供了按索引访问、插入、删除等操作。常见的实现类有ArrayList、LinkedList和Vector。Set是一个不允许包含重复元素的集合。它提供了高效的元素查找和去重。原创 2024-08-23 09:03:51 · 812 阅读 · 0 评论 -
05容器篇(D2_集合 - D3_踏入集合家族 - D1_单列集合家族)
哈希表(Hash Table),又叫散列表,是能够通过给定的关键字的值直接访问到具体对应的值的一个数据结构。也就是说,把关键字映射到一个表中的位置来直接访问记录,以加快访问速度。通常,我们把这个关键字称为 Key,把对应的记录称为 Value,所以也可以说是通过 Key 访问一个映射表来得到 Value 的地址。而这个映射表,也叫作散列函数或者哈希函数,存放记录的数组叫作散列表。其中有个特殊情况,就是通过不同的 Key,可能访问到同一个地址,这种现象叫作碰撞(Collision)。原创 2024-08-23 13:20:20 · 1041 阅读 · 0 评论 -
05容器篇(D2_集合 - D3_踏入集合家族 - D2_双列集合家族)
SortedMap接口是Java中提供的一种特殊的Map类型,它继承自Map接口,并添加了新的操作方法,可以根据键值按自然顺序或自定义排序方式对Map进行操作,保证Map中所有键值对的有序性。键值对按特定序列排列,排序时会根据键的自然次序(例如:String类型的键会按字母顺序排序)或自定义比较器所定义的顺序,而不是插入的顺序。提供了访问第一个和最后一个键值对的方法。提供了子Map方法,用于截取某个范围内的键值对。原创 2025-01-05 23:07:47 · 1254 阅读 · 0 评论 -
05容器篇(D2_集合 - D4_遍历相关)
Iterable接口表示一组对象,这些对象是Iterable的,这意味着可以迭代,这意味着实现Iterable接口,则可以迭代其元素,可以通过以下方式迭代Iterable对象,使用for-each循环,从Iterable获取Iterator或者通过Iterable 的forEach()方法,下面会一一讲解。必须实现的方法是iterator(),这个方法返回一个Iterator,可以用来迭代实现了Iterable接口 的对象,获取迭代器是在底层进行的,所以看不到这一点。原创 2025-01-05 23:08:57 · 1172 阅读 · 0 评论 -
05容器篇(D2_集合 - D5_企业容器常用 API)
如果不存在,则调用方法,新创建set结构,将"lisi"添加到set中,再存入到hashMap中。编程中经常遇到这种数据结构,判断一个map中是否存在这个key,如果存在则处理value的数据,编程中经常遇到这种数据结构,判断一个map中是否存在这个key,如果存在则处理value的数据,如果不存在,则创建一个满足value要求的数据结构放到value中。如果不存在,则创建一个满足value要求的数据结构放到value中。如果存在则获取china的值,并操作值的set添加数据“lisi"。原创 2025-01-07 23:47:07 · 351 阅读 · 0 评论 -
05容器篇(D3_面试题 - 面试题)
Iterator 接口提供了很多对集合元素进行迭代的方法。每一个集合类都包含了可以返 回迭代 器实例的迭代方法。迭代器可以在迭代的过程中删除底层集合的元素, 但是不 可以直接调用集合的 remove(Object Obj) 删除,可以通过迭代器的 remove() 方法 删除。原创 2025-01-09 09:58:44 · 971 阅读 · 0 评论 -
06泛型偏(泛型设计)
泛型是指在类定义时不会设置类中的属性或方法参数的具体类型,而在类使用时(创建对象)再进行类型定义。会在编译期检查类型是否错误。通俗来说,泛型就是一种未知的类,将未知的类型声明在集合、对象上,泛型的默认类型为Object。例如: ArrayList str = new ArrayList();这是将String类型指定在str这个集合内,这个集合存储或者读取的类型只能为String类型。原创 2025-01-09 11:20:14 · 1080 阅读 · 0 评论 -
07异常篇(D1_异常机制)
泛型就是指在类定义时不会设置类中的属性或方法参数的具体类型,而是在类使用时(创建对象)再进行类型的定义。会在编译期检查类型是否错误。类声明后的中这个T被称为类型参数,用于指代任意类型,实际上这个T只是个代表,写什么都可以。表示此时的value1,value2都是在类定义时没有明确类型,只有在使用时才告知编译器类型。T:代表任意类E:表示Element的意思,或是异常K:与V搭配使用V:与K搭配使用泛型就是一种未知的类,将未知的类型声明在集合、对象上,泛型的默认类型为Object。原创 2024-08-21 23:22:44 · 1007 阅读 · 0 评论 -
07异常篇(D2_断言机制)
断言机制是一种编程技术,用于在程序中检查和验证假设或前提条件是否为真。在软件开发过程中,断言常被用于确保程序代码按照预期执行,并且在遇到错误或异常情况时能够提供有用的诊断信息。断言(Assertion)是一种在程序中插入的语句或函数,用于 检查特定的约束条件是否为真。断言可以用来测试代码的正确性,它强调了一些必须满足的前提条件或假设。如果断言失败(条件不成立),则程序会抛出异常,通常是断言异常。总之,断言是一种强大的工具,通过合理使用可以提高代码质量,并帮助快速定位和修复错误。原创 2024-08-14 21:55:53 · 703 阅读 · 0 评论 -
08注解篇(D1_注解机制)
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。作用分类辅助执行部分代码检查,便于在编译期提前发现问题。配合代码处理,可以简化配置,之前依赖外部文件的配置方式可以简化为在代码中。基于注解,可以在编译期自动生成一些模板式代码,比如lombok。底层框架,基于注解+反射可灵活实现一些算法逻辑,而不用关注具体对象。原创 2024-08-21 09:27:44 · 758 阅读 · 0 评论 -
09反射篇(D1_反射机制)
所谓的异常,其实就是各种“意外”,是指在程序执行期间发生的“意外事件”,它中断了正在执行程序的正常指令流,没有产生我们预期中的结果。就好比我们的生活中,也会经常有一些意外发生。本来你计划今天和女朋友去happy,结果你的领导非要你去加班,不加班就辞退,这就是预期外的异常事件。Java给我们提供了专门的异常类来处理异常。在一个方法的运行过程中,如果发生了异常,这个方法会产生代表该异常的一个对象,并把它交给运行时系统,运行时系统会寻找相应的代码来处理该异常。Java把异常提交给运行时。原创 2024-08-14 21:55:17 · 621 阅读 · 0 评论
分享