面向对象程序设计-包异常处理.ppt

上传人:re****.1 文档编号:568526600 上传时间:2024-07-25 格式:PPT 页数:28 大小:359.31KB
返回 下载 相关 举报
面向对象程序设计-包异常处理.ppt_第1页
第1页 / 共28页
面向对象程序设计-包异常处理.ppt_第2页
第2页 / 共28页
面向对象程序设计-包异常处理.ppt_第3页
第3页 / 共28页
面向对象程序设计-包异常处理.ppt_第4页
第4页 / 共28页
面向对象程序设计-包异常处理.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《面向对象程序设计-包异常处理.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计-包异常处理.ppt(28页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计面向对象程序设计包包异常处理异常处理教师:张立涓上节内容回顾上节内容回顾抽象类和抽象方法抽象类和抽象方法接口接口提问提问1、如下所示代码,抽象类可以直接生成对象么?如下所示代码,抽象类可以直接生成对象么?abstract class Shape abstract void display( );classtestpublic static void main(String args) Shape s = new Shape( ) ;判断下列接口实现正确与否判断下列接口实现正确与否interface Irectdouble w = 3,l =4;void compute();vo

2、id method1(int i,int j); double method2( );class Crect implements Irect void compute () public double method2(int i ) 本节课主要内容本节课主要内容-接口接口包包异常处理异常处理【问题的引入】l要开发一个系统,可能会包含很多类文件,接口文件,那么,我们如何更好的组织这些文件,更好的管理这些文件呢? Java中为了更好地管理类和接口,引入了“包”(package)的概念,将功能相关的类和接口组织在一个包内 包包l包(包(package)是一组相关类和接口的集合或者说是一组相关类和接

3、口的集合或者说是类是类和接口的容器和接口的容器。它提供了访问权限(控制类之间的访问)。它提供了访问权限(控制类之间的访问)和命名的管理机制(划分类名空间)。和命名的管理机制(划分类名空间)。lJava中的包主要有三个作用中的包主要有三个作用:1.是使得功能相关的类易于查找和使用是使得功能相关的类易于查找和使用同一包中的类和接口同一包中的类和接口通常是功能相关的;通常是功能相关的;2.是避免了命名的冲突是避免了命名的冲突不同包中的不同类可以同名;不同包中的不同类可以同名;3.是提供一种访问权限的控制机制是提供一种访问权限的控制机制一些访问权限以包为访问一些访问权限以包为访问范围。范围。 使用使用

4、package语句将文件打包语句将文件打包创建一个包,只需在定义了类和接口的源文件的创建一个包,只需在定义了类和接口的源文件的第一行第一行使用使用package语句,例如:语句,例如:packagegraphics;/package是关键字,是关键字,graphics是包的名字是包的名字package语语句句的的作作用用域域是是包包含含该该语语句句的的整整个个源源文文件件。上上例例中中,“packagegraphics;”语语句句所所在在的的源源文文件件中中的的所所有有类类和和接接口口都都是是包包graphics的成员;的成员;请将订票系统文件打包,目录结构如下请将订票系统文件打包,目录结构如

5、下图所示。将所有图所示。将所有.class.class文件打包至文件打包至domaindomain目录下目录下打包后test.java文件还可以编译通过么?使用包使用包import语句引用的格式:语句引用的格式:importpackage1.package2.(className|*)importPackageName;/引入引入PackageName包包importPackageName.Identifier;/引入引入PackageName包中的类和接口包中的类和接口importPackageNamae.*;/引入引入PackageName包中的全包中的全部类和接口部类和接口程序演示程序演

6、示: P145 任务任务4-12Java的应用程序接口的应用程序接口(API) Java的应用程序接口(的应用程序接口(API)是以包的形式实现的,每是以包的形式实现的,每个包中包含大量相关的类、接口等。个包中包含大量相关的类、接口等。java.applet:包含有关小应用程序的处理包含有关小应用程序的处理java.awt:有关图形用户界面的工具箱有关图形用户界面的工具箱java.io:输入输出包输入输出包java.lang:语言包语言包:网络包网络包java.util:实用程序包实用程序包类的访问权限类的访问权限l访问权限指本类中的成员可以被哪些类访问访问权限指本类中的成员可以被哪些类访问l

7、访问权限修饰符:访问权限修饰符:private(私有私有)、protected(保保护护)、public(公有公有)什么是异常?什么是异常? 在程序运行中导致程序终止运行的事件。如,在程序运行中导致程序终止运行的事件。如, 要求程序执行以零为除数的除法,要求程序执行以零为除数的除法, 要求程序访问数组下标范围以外的数组元素,要求程序访问数组下标范围以外的数组元素, 要求访问空对象内的信息。要求访问空对象内的信息。示例:观察该程序运行结果示例:观察该程序运行结果public class OutputArraypublic static void main(String args)int coun

8、try = 1,2,3,4;for (int iLoop = 0;iLoop=4;iLoop+)System.out.println(countryiLoop); System.out.println(“输出完成输出完成”);/没有输出代表程序非正常终没有输出代表程序非正常终止止发生异常后有怎样的后果?发生异常后有怎样的后果?l程序非正常退出程序非正常退出l运行过程数据丢失运行过程数据丢失 一旦发生异常,我们希望:向用户通报异常的一旦发生异常,我们希望:向用户通报异常的内容,保存用户已做的工作,让用户以适当的方内容,保存用户已做的工作,让用户以适当的方式退出程序。式退出程序。 一个好的应用程序

9、,除了具备用户要求的功能一个好的应用程序,除了具备用户要求的功能外,还要求能预见程序执行过程中可能产生的各外,还要求能预见程序执行过程中可能产生的各种异常,并把处理异常的功能包括在用户程序中。种异常,并把处理异常的功能包括在用户程序中。异常类的层次和主要子类异常类的层次和主要子类Java的异常处理机制的异常处理机制 Java将异常视为对象。当将异常视为对象。当Java程序执行的过程程序执行的过程中出现异常,将会自动产生一个异常对象,该对中出现异常,将会自动产生一个异常对象,该对象包含了该异常的相关信息。象包含了该异常的相关信息。 可以编写代码处理异常,我们称之为可以编写代码处理异常,我们称之为

10、捕获异常。捕获异常。 也可以不对该异常类对象作处理,将它抛给调也可以不对该异常类对象作处理,将它抛给调用它的方法来处理,这个过程称之为用它的方法来处理,这个过程称之为抛出异常。抛出异常。Java的异常处理机制的异常处理机制l异常处理有以下几种方式:异常处理有以下几种方式:1)可以不处理运行时异常,由)可以不处理运行时异常,由Java虚拟机自动进行处理虚拟机自动进行处理2)使用)使用try-catch-finally语句语句捕获异常捕获异常3)通过)通过throws子句声明子句声明抛出异常抛出异常try-catch结构结构lJava采用采用try-catch-finally语句块来捕获异常,具体

11、语语句块来捕获异常,具体语法格式如下:法格式如下:try /可能产生异常的语句可能产生异常的语句catch(ExceptionName1 e1) /异常处理语句异常处理语句catch(ExceptionName2 e2) /异常处理语句异常处理语句示例示例public class OutputArray public static void main(String args) int country = 1,2,3,4;try for (int iLoop = 0;iLoop=4;iLoop+) System.out.println(countryiLoop); catch(ArrayInde

12、xOutOfBoundsException e) System.out.println(发生数租越界异常发生数租越界异常); System.out.println(“输出完成输出完成”); /能够输出代表程能够输出代表程序正常终止序正常终止 try-catch-finally结构结构try /可能产生异常的语句可能产生异常的语句catch(ExceptionName e) /异常处理语句异常处理语句finally /必须执行的语句必须执行的语句无论无论try语句中是否发生异常,语句中是否发生异常,finally语句块中的内容都会被执行语句块中的内容都会被执行try-catch-finally结

13、构执行次序try执行catch执行finally无异常有异常try-catch-finallytry-catch-finally结构的执行次序结构的执行次序try-catch-finally分析Qtrytry:将有可能出现错误的程序代码放在将有可能出现错误的程序代码放在trytry块中,对块中,对trytry块中的程序代码进行检查,可能会抛出一个或多个异常,块中的程序代码进行检查,可能会抛出一个或多个异常,因此,因此,trytry后面可跟一个或多个后面可跟一个或多个catch;catch;Qcatchcatch:功能是捕获异常,功能是捕获异常,catchcatch捕获异常的过程中,要捕获异常的

14、过程中,要将将ThrowableThrowable类中的异常类型和类中的异常类型和trytry语句抛出的异常进行语句抛出的异常进行比较,若相同,则在比较,若相同,则在catchcatch中进行处理;中进行处理;Qfinally:finally:是这个组合语句的统一出口,一般用来进行一是这个组合语句的统一出口,一般用来进行一些些“善后善后”操作,例如释放资源、关闭文件等。操作,例如释放资源、关闭文件等。练习练习l编程求解两个数相除的结果,并处理除数为0的异常情况,当出现异常时输出提示信息 “除数为0异常”提示:除数为提示:除数为0的异常类型为的异常类型为ArithmeticExceptiontr

15、y-catch使用注意事项使用注意事项(1)try语句块后面一定要有catch语句块或者finnaly语句块。catch语句块或者finally语句块都可以省略,但是它们不能同时都省略,否则将导致编译错误。(2)catch语句块必须跟在try语句块的后面,如果有多个catch语句块,它们之间是不能有其他任何语句的。 throws语句抛出异常语句抛出异常l(1)对对于于Error和和RuntimeException异异常常,在在程程序序中中可可以以进进行行捕捕获获和和处处理理,但但不不是是必必须须的的。如如果果在在程程序序中中没没有有对对它它们们进进行行处处理理,编编译译器器不不会会检检查查出出

16、错错误误来来,可可以以通通过过 编编 译译 。 因因 此此 这这 些些 异异 常常 称称 为为 非非 检检 查查 异异 常常 。 例例 如如ArrayIndexOutOfBoundsException异异常常,我我们们如如果果在程序中不作异常捕获编译也可以通过。在程序中不作异常捕获编译也可以通过。l(2)对于其他的异常(不是)对于其他的异常(不是RuntimeException及其子及其子类的类的Exception异常),在程序中一定要对它们进行处异常),在程序中一定要对它们进行处理,要么用理,要么用try-catch语句块捕获并处理它们,要么声明语句块捕获并处理它们,要么声明抛出异常,否则编译失败。由于编译器对这种异常进行抛出异常,否则编译失败。由于编译器对这种异常进行了检查,因此这种异常也称为了检查,因此这种异常也称为检查异常检查异常。程序演示程序演示lP138 任务4-10小结小结l包l异常处理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号