Object类和异常
2019-12-21 16:06:15来源:博客园 阅读 ()
Object类和异常
Object类(所有类的顶级父类)
今天说的两个方法: equals: 用于比较两个对象是否相同,它其实是使用两个对象的内存地址进行比较,底层默认使用的是==比较运算符来判断的。 在以后开发中,要比较两个对象是否相同,经常会根据对象中的属性值进行比较。也就是经常需要重写Object类中的equals方法,根据对象的属性值进行比较 注意:在重写Object类中的equals方法时,一定要注意参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前一定要进行类型判断 toString: 返回该对象的字符串表现形式。其实该字符串内容就是对象的类型+@+内存地址值。 在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。 注意:在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法. 异常:(分为运行时异常和编译时异常) 异常的概念: 异常本身是一个类,产生异常就是创建异常对象并抛出(throw)了一个异常对象。Java处理异常的方式是中断处理。 顶级父类:Throwable 子类:Exception、Error(不可修改错误。不用我们处理) Exception子类: RuntImeException(运行时异常) 运行时异常(RuntimeException):运行时可能会报错,可以不处理。 编译时异常(Exception):编译时无法编译通过。 自定义异常: 自定义运行时异常:需要继承RuntimeException。写构造方法即可 自定义编译时异常:需要继承Exception。写构造方法即可 自定义异常:需要手动抛出异常 自定义异常格式: Class 异常名 extends Exception{ //或继承RuntimeException public 异常名(){ } } 处理异常:try{}catch(异常对象){} 捕获处理,将异常获取,使用try/catch做分支处理 格式: try{ 需要检测的异常; }catch(异常对象) { 异常处理代码: 可以调用异常的方法通常我们只使用一个方法: printStackTrace打印异常信息 } 另外两种处理方式: 1.声明抛出处理,出现异常后不处理,声明抛出给调用者处理。 格式: 方法声明上加throws 异常类名 2.抛出异常 使用throw关键字。写在方法内部。 格式: throw new 异常类名(参数); 3.抛出指定异常的具体操作步骤: 1,创建一个异常对象。封装一些提示信息(信息可以自己编写)。 2,需要将这个异常对象告知给调用者。怎么告知呢?怎么将这个异常对象传递到调用者处呢?通过关键字throw就可以完成。throw 异常对象; throw用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结束当前方法的执行。 注意:异常处理,指处理的一种可能性,即有了异常处理的代码,不一定会产生异常。 如果没有产生异常,则代码正常执行,如果产生了异常,则中断当前执行代码,执行异常处理代码。 捕获异常:try{}catch(异常对象){}finally{} 格式: try { //需要被检测的语句。 }catch(异常类变量) { //参数。 //异常的处理语句。 }finally { //一定会被执行的语句。 } 异常的注意事项: 多异常处理 捕获处理: 1多个异常分别处理 2多个异常一次捕获多次处理 3多个异常一次捕获一次处理 声明抛出异常: 声明上使用,一次声明多个异常 运行时异常被抛出之前可以不处理。即不捕获也不声明抛出 如果父类抛出了多个异常,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集 父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出 当多异常处理时,捕获处理,前边的类不能是后边类的父类 在try/catch后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收。 一个try 多个catch组合 : 对代码进行异常检测,并对检测的异常传递给catch处理。对每种异常信息进行不同的捕获处理。 注意: 这种异常处理方式,要求多个catch中的异常不能相同,并且若catch中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理。 try finally 组合: 对代码进行异常检测,检测到异常后因为没有catch,所以一样会被默认jvm抛出。异常是没有捕获处理的。但是功能所开启资源需要进行关闭,所有finally。只为关闭资源。原文链接:https://www.cnblogs.com/rrong/p/12078402.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java基础复习——类和对象 2020-06-09
- Java笔记:数组,异常,泛型 2020-06-08
- Spring Cloud Gateway 全局通用异常处理 2020-06-08
- JAVA中常用的类 2020-06-05
- SpringCloud异常处理统一封装我来做-使用篇 2020-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash