黑马程序员java培训就业班笔记day11总结.doc_第1页
黑马程序员java培训就业班笔记day11总结.doc_第2页
黑马程序员java培训就业班笔记day11总结.doc_第3页
黑马程序员java培训就业班笔记day11总结.doc_第4页
黑马程序员java培训就业班笔记day11总结.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Day11知识总结:1、 异常处理细节:1、 定义功能时,功能中有什么问题,都应该进行预先的处理比如try catch.如果处理不了,应该通过throws声明抛出,让调用者进行处理。2、 调用了抛出异常的功能的函数,应该进行处理,如果使用try catch处理的话,被调用的功能上抛出几个异常,就应该对应几个catch语句,必须要对多个异常进行针对性的处理。3、 如果出现多个catch中存在着父类异常的catch,那么这个catch一定放在catch的最后,通常这种情况在面试很多见。4、 如果函数内抛出异常,那么一定要在函数上声明,否则编译失败,但是要注意函数内抛出的异常是运行时异常(RuntimeException),那么函数上是可以不用throws声明的。5、 如果函数内抛出了异常,进行了本功能内部的处理,但是处理的并不完全,这时应该在异常处理中,继续将异常抛出,让在函数上声明让调用者知道问题的存在,但是有可能需要将异常进行转换,尽量抛出调用者识别的异常,处理起来更方便。6、 当子类覆盖父类中的异常声明的方法时,子类方法只能声明父类的异常或者该异常的子类。如果父类抛出了多个异常,那么子类在覆盖时买智能抛出父类异常的子集。7、 如果父类和接口中的方法没有声明抛出过异常,那么子类的覆盖父类方法时,也不能抛出异常,如果子类中的方法发生了异常,那么子类只能try catch不能用throws声明,只能try,不能抛,如果非要在函数内抛出异常,那么只能抛出RuntimeException,因为这种异常不用在函数声明上。2、 finally:定义一定会被执行的代码。通常用来关闭资源,异常处理的三种格式:1、 try catch finally2、 Try catch/可以多个catch3、 Try finally记住:catch是用于处理异常的,如果没有catch就代表异常没有被处理过,如故哦该异常是检测时异常,必须被声明。代码体现:3、 异常总结:异常是什么?是对问题的描述,将问题进行对象的封装。异常体系:Throwable|-Error|-Exception|-RuntimeException异常体系的特点:异常体系中的所有类以及建立的对象都具有可抛性。也就说可以被throw和throws关键字操作。只有异常体系具备这个特点。Throw和throws的用法:Throw定义在函数内,用于抛出异常对象。Throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开。函数内有throw抛出异常对象,并未进行try处理必须要在函数上声明,否则编译失败,注意:RuntimeException异常除外,也就说函数内如果抛出的是RuntimeException函数上可以不用声明,如果函数声明了异常,调用者需要进行处理 吗,处理方式throws也可以try异常有两种:1、 编译时检测异常:该异常在编译时如果没有处理,如果没有处理(没有抛也没有try)编译失败2、 运行时异常在编译时,不需要处理,编译器不检查,该异常发生,建议不处理,让程序停止,需要对代码进行修正。异常处理的语句:try需要被检测的代码catch()异常处理代码fianlly一定会执行的代码有三种结合的格式:1、trycatch()finally2、trycatch()3、tryfinally注意:1、finally中定义的通常是关闭资源,因为资源必须被释放。2、finally只有一种情况不会执行,当执行到System.exit(0);finally不会执行。5、自定义异常 定义类继承Exception或者RuntimeException 1、为了让该自定义类具备可抛性。 2、让该类具备操作异常的共性方法。 当要定义自定义异常的信息时,可以使用父类已经定义好的功能 将异常信息传递给父类的构造函数, class MyException extends Exception MyException(String message)super(message); 自定义异常:按照java的面向对象思想,将程序中出现的特有问题进行封装。 异常的好处: 1、将问题进行封装。 2、将正常流程代码和问题处理代码相分离,方便阅读 异常的处理原则: 1、处理方式有两种:try 或者throws。 2、调用到抛出异常的功能时,抛出几个就处理几个。 一个try对应多个catch的情况。 3、多个catch父类的catch放到最下面。 4、catch内需要定义针对性的处理方式,不要简单的定义printStackTrace,输出语句。 也不要不写。当捕获到的异常,本功能处理不了时,可以继续在catch中抛出。 try throw new AException catch(AException e) throw e; 如果该异常处理不了,但并不属于该功能出现的异常,可以将异常转换后,在抛出和该功能相关的异常。 或者异常可以处理,当需要将异常产生的和本功能相关的问题提供出去,当调用者知道,并处理,也可以将捕获的异常处理后,转换新的异常。 try throw new AException(); catch(AException e) throw new BException(); 比如汇款的列子:异常的注意事项:在子父类覆盖时:1、子类抛出的异常必须是父类异常的子类或者子集。2、如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。-包:package 了解即可1、对类文件进行分类管理2、给类提供多层命名空间3、写在程序文件的第一行4、类名的全称的是 包名.类名5、包也是一种封装形式。结论:包与包之间访问,被访问的包中的类必须是共有的,被访问的类中的成员也是共有的,才可以访问到 public: protected: default: private:同一类中 ok ok ok ok同一包中 ok ok ok 子类 ok ok 不同包中 ok包与包之间还有一种权限可用,protect保护权限,只给不同包中的子类提供访问。package pack.hahe.hehe;这样的格式非常多见。一般都是用域名来给包其名字package cn.itcast.day11.demo;那类名就得:cn.itcast.day11.demo.PackageDemo如何解决这个类名过长的问题呢?为了简化代码书写,可以使用一个关键字来完成。这个关键字importimport:导入的意思,import package.DemoA导入package包中的DemoA类。import packa.*;*通配符导入这个包中所有的类。也就是当前目录下所有的类,。/将packa包中的当前的目录下所有的类。不包含子包中的类文件。import packa.abc.*;导入了packa包中abc子包中的类。原则:用到哪个类就具体导入哪个类。不要全部写*;import的作用就是为了简化类名书写的。jar包:了解即可java的压缩包,方便项目的携带,方便于使用,只要在classpath设置路径即可,java.lang:languagejava的语言包,也就是java的核心包。Object System String Throwable Thread jdk1.2版本以后,该包中的类会自动导入。java.applet:application let 客户端的应用程序。这是一种可以将java的类文件嵌入在网页中。 server let- servlet:处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论