Java-2教程第4版--类与异常类课件.ppt

上传人:rrsccc 文档编号:10324947 上传时间:2021-05-09 格式:PPT 页数:15 大小:270.50KB
返回 下载 相关 举报
Java-2教程第4版--类与异常类课件.ppt_第1页
第1页 / 共15页
Java-2教程第4版--类与异常类课件.ppt_第2页
第2页 / 共15页
Java-2教程第4版--类与异常类课件.ppt_第3页
第3页 / 共15页
Java-2教程第4版--类与异常类课件.ppt_第4页
第4页 / 共15页
Java-2教程第4版--类与异常类课件.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java-2教程第4版--类与异常类课件.ppt》由会员分享,可在线阅读,更多相关《Java-2教程第4版--类与异常类课件.ppt(15页珍藏版)》请在三一文库上搜索。

1、Java-2教程第4版-类与异常类1 页,注意:开始用功了!,Java-2教程第4版-类与异常类2 页,Java2实用教程(第4版) 第7章,配合例子源代码一起使用,Power point 制作:耿祥义 张跃平,内部类与异常类,Java-2教程第4版-类与异常类3 页,导读,主要内容 内部类 匿名类 异常类 断言,Java-2教程第4版-类与异常类4 页,7.1 内部类,Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。 某种类型的农场饲养了一种特殊种类的牛,但不希望其他农场饲养这种特殊种类的牛,那么这种类型的农场就可以将创建这种特殊种牛的类作为自己的

2、内部类。 下面的例子1(Example7_1.java)中有一个RedCowForm(红牛农场)类,该类中有一个名字为RedCow(红牛)的内部类。程序运行效果如图7.1。,Java-2教程第4版-类与异常类5 页,7.2 匿名类 7.2.1 和子类有关的匿名类,Java允许我们直接使用一个类的子类的类体创建一个子类对象。 创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。 假设Bank是类,那么下列代码就是用Bank的一个子类(匿名类)创建对象: new Bank () 匿名类的类体 ;,Java-2教程第4版-类与异常类6 页,例子2中

3、(Example7_2.java)的ShowBoard类的showMess(OutputAlphabet show)方法的参数是OutputAlphabet类型的对象,用户在编写程序时,希望使用ShowBoard类的对象调用showMess(InputAlphabet show)输出英文字母表和希腊字母表,但系统没有提供输出希腊字母表的子类(只提供了输出英文字母表的子类OutputEnglish.java ),因此用户在主类的main方法中,向showMess方法的参数传递了一个匿名类的对象,该匿名类的对象对象负责输出希腊字母表。运行效果如图7.2。,Java-2教程第4版-类与异常类7 页,

4、7.2.2 和接口有关的匿名类,假设Computable是一个接口,那么,Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了Computable接口的类去掉类声明后的类体,称作匿名类。 下列代码就是用实现了Computable接口的类(匿名类)创建对象: new Computable() 实现接口的匿名类的类体 ; 例子3演示了和接口有关的匿名类的用法,运行效果如图7.3。,Java-2教程第4版-类与异常类8 页,7.3 异常类,所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误作出处理。 异常

5、对象可以调用如下方法得到或输出有关异常的信息: public String getMessage(); public void printStackTrace(); public String toString();,Java-2教程第4版-类与异常类9 页,7.3.1 trycatch语句,Java使用trycatch语句来处理异常,将可能出现的异常操作放在trycatch语句的try部分,将发生异常后的处理放在catch部分。 trycatch语句的格式如下: try 包含可能发生异常的语句 catch(ExceptionSubClass1 e) catch(ExceptionSubCla

6、ss2 e) ,例子4给出了trycatch语句的用法,程序运行效果如图7.4,Java-2教程第4版-类与异常类10 页,7.3.2 自定义异常类,我们也可以扩展Exception类定义自己的异常类,然后规定哪些方法产生这样的异常。 一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。,Java-2教程第4版-类与异常类11 页,通常情况下,计算两个整数之和的方法不应当有任何异常放生,但是,对某些特殊应程序,可能不允许同号的整数做求和运算,比如当一个整

7、数代表收入,一个整数代表支出时,这两个整数就不能是同号。,例子5(Example7_5.java)中,Bank类中有一个income(int in,int out)方法,对象调用该方法时,必须向参数in传递正整数、向参数out传递负数,并且int+out必须大于等于0,否则该方法就抛出异常(BankException.java )。因此,Bank类在声明income(int in,int out)方法时,使用throws关键字声明要产生的异常。程序运行效果如图7.5。,例子5(Example7_5.java),Java-2教程第4版-类与异常类12 页,7.4 断言,断言语句用于调试代码阶段。

8、在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,但仍把断言语句保留在源代码中,如果以后应用程又需要调试,可以重新启用断言语句。 使用关键字assert声明一条断言语句,断言语句有以下两种格式: assert booleanExpression; assert booleanExpression:messageException;,Java-2教程第4版-类与异常类13 页,例子6中,使用一个数组放着某学生5门课程的成绩,程序准备计算学生的成绩的总和。在调试程序时使用了断言语句,如果发现成绩有负数,程序立刻结束执行。程序调试开启断言语句运行效果

9、如图7.6,关闭断言语句运行效果如图7.7。,Java-2教程第4版-类与异常类14 页,7.5 应用举例,带finally子语句的trycatch语句,语法格式如下: try catch(ExceptionSubClass e) finally 其执行机制是在执行trycatch语句后,执行finally子语句,也就是说,无论在try部分是否发生过异常,finally子语句都会被执行。,例子7(DangerException.java , CargoBoat.java , Example7_7.java )中模拟向货船上装载集装箱,如果货船超重,那么货船认为这是一个异常,将拒绝装载集装箱,但无论是否发生异常,货船都需要正点启航。运行效果如图7.8。,Java-2教程第4版-类与异常类15 页,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1