Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt

Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt

ID:51638278

大小:1.96 MB

页数:18页

时间:2020-03-27

Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt_第1页
Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt_第2页
Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt_第3页
Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt_第4页
Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt_第5页
资源描述:

《Java程序设计内容精编教程(第3版)第8课时_内部类与异常类.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PPT注意事项:当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中,即不要移动文件夹“代码”的默认位置。Java程序设计精编教程第3版配有作者视频讲解扫描书中章节提供的二维码课件制作人张跃平2021/7/232《Java程序设计精编教程(第3版)》第8章配合例子源代码一起使用Powerpoint制作:耿祥义张跃平内部类与异常类2021/7/231导读主要内容内部类匿名类异常类断言2021/7/231§8.1内部类Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。内部类的类体中不可以声明类变量和类方法。外嵌

2、类的类体中可以用内部类声明对象,作为外嵌类的成员。内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。另外,由于内部类的外嵌类的成员变量在内部类中仍然有效,使得内部类和外嵌类的交互更加方便。例子12021/7/231某种类型的农场饲养了一种特殊种类的牛,但不希望其他农场饲养这种特殊种类的牛,那么这种类型的农场就可以将创建这种特殊种牛的类作为自己的内部类。例子1中有一个RedCowForm(红牛农场)类,该类中有一个名字为RedCow(红牛)的内部类。Example8_1.java程序运行效果如图8.1。2021/7/231§8.2匿名类§8.2.1和子类有关的匿名类Java

3、允许我们直接使用一个类的子类的类体创建一个子类对象。创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。假设Bank是类,那么下列代码就是用Bank的一个子类(匿名类)创建对象:newBank(){匿名类的类体};例子22021/7/231例子2中,抽象类InputAlphabet有input()方法,而且该类有一个InputEnglish子类,这个子类重写的input()方法可以输出英文字母表。例子2中的ShowBoard类的showMess(InputAlphabetshow)方法的参数是InputAlphabet类型的对象,用户

4、在编写程序时,希望使用ShowBoard类的对象调用showMess(InputAlphabetshow)输出英文字母表和希腊字母表,但系统没有提供输出希腊字母表的子类,因此用户在主类的main方法中,向showMess方法的参数传递了一个匿名类的对象,该对象负责输出希腊字母表。Example8_2运行效果如图8.2。2021/7/231§8.2.2和接口有关的匿名类假设Computable是一个接口,那么,Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了Computable接口的类去掉类声明后的类体,称作匿名类。下列代码就是用实现了Computable接口的类

5、(匿名类)创建对象:newComputable(){实现接口的匿名类的类体};例子32021/7/231如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须要重写接口中的全部方法。例如,对于voidf(ComPutablex)其中的参数x是接口,那么在调用f时,可以向f的参数x传递一个匿名对象,例如:f(newComPutable(){实现接口的匿名类的类体})例子3演示了和接口有关的匿名类的用法,运行效果如图8.32021/7/231§8.3异常类所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改

6、变程序的控制流程,让程序有机会对错误作出处理。异常对象可以调用如下方法得到或输出有关异常的信息:publicStringgetMessage();publicvoidprintStackTrace();publicStringtoString();2021/7/231§8.3.1try~catch语句Java使用try~catch语句来处理异常,将可能出现的异常操作放在try~catch语句的try部分,将发生异常后的处理放在catch部分。try~catch语句的格式如下:try{包含可能发生异常的语句}catch(ExceptionSubClass1e){…}catch(Excep

7、tionSubClass2e){…}例子42021/7/231例子4给出了try~catch语句的用法,程序运行效果如图8.4。2021/7/231§8.3.2自定义异常类我们也可以扩展Exception类定义自己的异常类,然后规定哪些方法产生这样的异常。一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行

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

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

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