java面向对象程序设计第6章内部类与异常类

java面向对象程序设计第6章内部类与异常类

ID:36198177

大小:711.50 KB

页数:27页

时间:2019-05-07

java面向对象程序设计第6章内部类与异常类_第1页
java面向对象程序设计第6章内部类与异常类_第2页
java面向对象程序设计第6章内部类与异常类_第3页
java面向对象程序设计第6章内部类与异常类_第4页
java面向对象程序设计第6章内部类与异常类_第5页
资源描述:

《java面向对象程序设计第6章内部类与异常类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《Java面向对象程序设计》第6章内部类与异常类主讲:王美丽办公室:信息学院403Email:meili_w@nwsuaf.edu.cn内部类匿名类异常类断言难点异常类主要内容6.1内部类类的成员:成员变量、成员方法Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类。内部类可以访问外嵌类的成员变量、成员方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。内部类的类体中不可以声明类变量和类方法。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。内部类例publicclassChina{

2、privateStringsong="义勇军进行曲";publicvoidtest(){}classBeijing{Stringname="北京";voidspeak(){System.out.println("Ourcapitalis:"+name+",Ournationalsongis:"+song);}}publicstaticvoidmain(String[]args){Chinac=newChina();c.newBeijing().speak();}}6.2匿名类匿名内部类:子类去掉类声明的类体优点:使代码更加简洁、紧凑,模块化程度更高。匿名内部类

3、两种实现方式:继承一个类,重写其方法;实现一个接口(可以是多个),实现其方法。匿名类是一个子类,用于临时创建一个内部类对象,不必单独去定义该子类匿名类体内可以对父类、抽象类以及接口的方法进行重写由于匿名类没有类名,因此不能重用这个对象创建形式:newPeople(){匿名类类体};匿名类在创建对象时,要直接使用父类的构造方法完成三件事:1、创建一个Speak的子类,该子类为匿名类2、改写Speak中的方法speakHello()3、返回该子类的引用,赋给Speakspeak和类有关的匿名类和接口有关的匿名类Java允许直接用接口名和一个类体创建一个匿名对象,此

4、类体被认为是实现了Computable接口的类去掉类声明后的类体,称作匿名类。下列代码就是用实现了Computable接口的类(匿名类)创建对象:newComputable(){实现接口的匿名类的类体}6.3异常类概念异常是指程序在执行过程中出现的意外事件。特点通常会使程序的正常流程被打断能否很好的处理运行时刻的异常情况是一个程序健康的标志输入数据不符合要求除数为0数组的下标越界少了所需加载的类打开不存在的文件网络无法连接操作数超出所要求的范围自定义异常,要求程序处理…什么时候会发生异常?readfile{try{openthefile;//打开文件derte

5、rmineitssize;//判断大小allocatethatmuchmemory;//分配内存readthefileintomemory;//将文件读入内存closethefile;//关闭文件}catch(fileopenfailed){dosth.}catch(sizederterminedfailed){dosth.}catch(memoryallocatedfailed){dosth.}catch(readfailed){dosth.}catch(fileclosefailed){dosth.}}正常业务逻辑异常捕捉使用Java的异常处理机制,读、写

6、和调试代码变得清晰。它把错误的代码和正常的代码分开。Java中的处理方法?错误:指的是系统异常或运行环境出现的异常,这些异常一般是很严重的异常,即使捕捉到通常也无法处理,例如Java虚拟机异常指的是一般的异常,例如,输入/输出(I/O)异常。对这些异常应用程序可以进行处理1、Java中的异常类2、异常处理方法一旦捕获异常,马上进行处理捕获异常,但并不处理,或只部分处理重新抛出异常Java中如何进行异常处理Java异常处理:try、catch、finally、throw、throws5个关键字。在方法中手动抛出异常声明方法有可能抛出的各种异常类tryfinall

7、ycatchthrowsthrow有可能会出现异常的代码一定要放到try代码块中不管有没有异常都要执行的代码捕获和处理异常2、异常处理方法(1)try{//业务实现代码}catch(Type1id1){处理异常类型1语句;}catch(Typenid2){处理异常类型2语句;}……//其它catch语句[finally{无论是否抛出异常都要执行的语句;}]{}必不可少,即使只有一句代码有try,则catch、finally必须出现其一。Catch块可以有多个,从上往下依次判断,只要捕捉到一个异常,下面的catch块不会执行三、异常的抛出和处理throws语句指

8、明方法中可能要产生的异常类型,由调用者

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。