首页 > 其他分享 >11

11

时间:2023-12-17 21:35:37浏览次数:27  
标签:11 内部 抛出 hashCode finally catch 异常

 

1. 内部类

1.1 一般内部类

  • 内部类是定义在其他类内部的类。
  • 内部类可以是外部类的成员变量。
  • 内部类可以是私有的或静态的,具体取决于访问和使用的需求。

1.2 局部内部类

  • 局部内部类是在方法内部定义的,不能有访问修饰符。
  • 在局部内部类中使用的变量会隐式变为final。

1.3 匿名内部类

  • 匿名内部类是没有名字的类,它可以继承一个类或实现一个接口。
  • 通常用于快速实现接口或抽象类的实例。
  • 可以在创建时直接实例化。

2. Object类

2.1 Object类方法

  • clone(): 创建并返回对象的副本。
  • finalize(): 不推荐使用,已在JDK 9中过时。
  • getClass(): 返回对象的运行时类。
  • hashCode(): 返回对象的哈希码值/地址值。
  • toString(): 返回对象的字符串表示形式。
  • notify(), notifyAll(), wait(), wait(long timeoutMillis), wait(long timeoutMillis, int nanos): 与同步相关的方法。

2.2 重写equals和hashCode

  • equals(Object obj): 默认使用==进行比较;建议根据内容进行重写。
  • hashCode(): 当重写equals时,应当重写hashCode以保持equalshashCode的一致性。

3. 枚举

  • 枚举是一种特殊的类,定义了一组有限的常量值。
  • 枚举通常用于表示一组相关的常量。
  • 枚举常量通常使用大写字母表示。

4. 异常处理

4.1 异常体系

  • Throwable是所有错误和异常的超类。
  • Error表示严重错误,通常无法恢复。
  • Exception表示可能出现的异常,分为可检查(编译时)和不可检查(运行时)异常。

4.2 异常处理结构

  • 使用try-catch块来处理异常。
  • 可以使用多个catch块来捕获不同类型的异常。
  • finally块包含无论是否发生异常都会执行的代码。

4.3 抛出异常

  • 使用throw可以显式抛出异常。
  • 在方法签名中使用throws声明可能抛出的异常。

4.4 处理和打印异常信息

  • 使用getMessage()toString()printStackTrace()等方法获取和打印异常信息。

 

异常体系 : Throwable : 是Java语言中所有错误和异常的超类 |Error/错误 : 表示合理的应用程序不应该试图捕捉的严重问题. |Exception/异常 : 表示合理的应用程序可能想要捕获的条件。 |RuntimeException/运行时异常 : 代码执行过程中才出现的异常 , 比如 NullPointerException |RuntimeException之外的异常/编译时异常 : 编译时期就会提示,比如 ClassNotFoundException

只有作为此类实例(或其子类之一)的对象才会由Java虚拟机抛出, 或者可以由Java抛出语句抛出。 类似地,只有这个类或它的一个子类可以是catch子句中的参数类型。 为了在编译时检查异常,Throwable和任何不属于RuntimeException或Error子类的Throwable子类都被视为已检查异常。 异常处理基本格式 : try{ 可能发生异常的代码; }catch(异常类型 异常名){ 异常发生时的处理方式; }finally{ 一定要被执行的代码; }

注意 : 1.有异常但没有异常处理结构时 : 程序会终止在异常发生的那一行 2.有异常并且有对应异常处理结构时 : 程序在异常产生的位置开始跳转 ----> catch语句 ----> finally语句 ----> 程序正常运行 3.有异常并且有异常处理结构 , 但是没有对产生的异常进行处理时 : 程序在异常产生的位置开始跳转 ----> finally语句 ----> 程序打印异常信息 ----> 程序终止 4.有 处理方式 , 但没有异常产生 : try语句执行完后 --> finally语句 ---> 程序正常运行

throw : 动词 , 用于函数内部抛出一个异常 ; 如果抛出的是一个编译时异常,需要在函数部分进行声明 ; 如果抛出的是一个运行时异常,不需要在函数部分进行声明 ;

throws : 名次 , 用于函数声明部分 , 声明异常

 

标签:11,内部,抛出,hashCode,finally,catch,异常
From: https://www.cnblogs.com/yuec5067/p/17909865.html

相关文章

  • 学期(2023-2024-1) 学号(20232411)《网络空间安全导论》第六周学习总结
    学期(2023-2024-1)学号(20232411)《网络空间安全导论》第六周学习总结教材学习内容总结本周我学习了《网络空间安全导论》的第六章,其主要讲述了应用安全的概述,一些具体的防御措施和应用安全的一些重点对象。在学习过程中,我总结了如下要点,以思维导图的方式呈现:教材学习中的......
  • win11 安装pytorch
    第一步骤,是安装cuda和cudnn,看这个链接。https://zhuanlan.zhihu.com/p/586913250。重点就是如何安装pytorch了,因为网络慢的原因  首先,直接使用下面这个命令不好使,如果你的科上网流量非常足的话,没问题的。我用aconda,差不多就安装好了,可是比较可惜的是,机器内存不够(32G),aconda安......
  • 电子公文传输-个人贡献 20211314王艺达
    主要工作数据库构建和代码具体分工内容1)明确电子公文网站设计的用户管理、菜单管理、角色管理、权限管理、字典管理、部门管理、岗位管理、电子公文、密钥管理、在线用户、定时任务等的具体功能需求。2)了解系统的需求,包括数据存储和检索的需求。明确系统中需要存储的数据类型......
  • 学年(2023-2024-1)学号(20231311)《计算机基础与程序设计》第12周学习总结
    2023-2024-120231311《计算机基础与程序设计》第12周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十二周作业这个作业的目标学习《C语言程序设计》第11章并完成云班课测试作业......
  • Win11今年被微软弃用功能达16项:含Cortana、写字板等
    2023年即将结束,近日有媒体盘点了微软在今年宣布弃用的16项Windows11功能,一起来看下吧。Cortana小娜助手:微软现在正大力推进新的Copilot,而作为与苹果Siri和谷歌等语音助手竞争的产品,Cortana助手曾被微软寄予了厚望,但最终也难逃被放弃的结果。在发布Copilot一周后,微软就宣布弃用......
  • 20211101王晨博电子公文网站个人贡献
    个人贡献1.活动图2.前端网页,页面显示优化3.适配新增加解密功能、完善前端页面及接口调试4.前端页面5.代码个人贡献878行,小组共4800+行https://gitee.com/kcf03/man-k/tree/0d9851e308a40770bd47ef9f0c2847d586c9ff59/front6.小组文档15篇,我贡献1篇https://www.cnblogs......
  • 2023-2024-1 20211327 实验三-电子公文传输系统1-个人贡献
    简述工作在项目前期,我撰写了部分博客,作为组长分配任务设计项目整体框架结构,完成vue全局过滤器的声明和相关设置撰写了普通用户(非管理员)增删改查部分的代码,对jsp和html等前端代码进行修改和完善对数据库部分相关代码进行补充进行系统测试任务摘录全局过滤器我们的公文传......
  • 20211306丁文博个人贡献
    简述工作1.使用墨刀设计出版界面2.使用领歌网站建立项目,确定分工3.进行前端界面设计的学习和基于Django安全性的学习代码撰写总代码行数:8100+我写的代码行数:2000相关代码链接:https://github.com/serendipitier/-111/blob/main/templates/comment.htmlhttps://github......
  • 11.22
    1.定义一个结构体变量(包括年、月、日),计算该日在本年中是第几天,注意闰年的问题。程序代码:#include<stdio.h> typedefstruct{   intyear;   intmonth;   intday;}Date; //计算是否为闰年intisLeapYear(intyear){   return(year%4==0......
  • 11.21
    1.用结构体存放如下表中的数据,然后输出每个人的姓名和实发工资(实发工资=基本工资+浮动工资-支出)姓名基本工资浮动工资支出Tom1240.00800.0075.00Lucy1360.00900.0050.00Jack1560.001000.0080.00程序代码:#inclu......