面向对象程序设计-包异常处理1.ppt_第1页
面向对象程序设计-包异常处理1.ppt_第2页
面向对象程序设计-包异常处理1.ppt_第3页
面向对象程序设计-包异常处理1.ppt_第4页
面向对象程序设计-包异常处理1.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计 包 异常处理,教师:张立涓,上节内容回顾,抽象类和抽象方法 接口,提问,1、如下所示代码,抽象类可以直接生成对象么?,abstract class Shape abstract void display( ); class test public static void main(String args) Shape s = new Shape( ) ; ,判断下列接口实现正确与否,interface Irect double w = 3,l =4; void compute(); void method1(int i,int j); double method2( ); class Crect implements Irect void compute () public double method2(int i ) ,本节课主要内容-接口,包 异常处理,【问题的引入】,要开发一个系统,可能会包含很多类文件,接口文件,那么,我们如何更好的组织这些文件,更好的管理这些文件呢? Java中为了更好地管理类和接口,引入了“包”(package)的概念,将功能相关的类和接口组织在一个包内,包,包(package)是一组相关类和接口的集合或者说是类和接口的容器。它提供了访问权限(控制类之间的访问)和命名的管理机制(划分类名空间)。 Java中的包主要有三个作用: 是使得功能相关的类易于查找和使用同一包中的类和接口通常是功能相关的; 是避免了命名的冲突不同包中的不同类可以同名; 是提供一种访问权限的控制机制一些访问权限以包为访问范围。,使用package语句将文件打包,创建一个包,只需在定义了类和接口的源文件的第一行使用package 语句,例如: package graphics; / package是关键字,graphics是包的名字 package语句的作用域是包含该语句的整个源文件。上例中,“package graphics;”语句所在的源文件中的所有类和接口都是包graphics的成员;,请将订票系统文件打包,目录结构如下图所示。将所有.class文件打包至domain目录下,打包后test.java文件还可以编译通过么?,使用包,import语句引用的格式: import package1.package2.(className|*),import PackageName;/引入PackageName包 import PackageName.Identifier;/引入 PackageName包中的类和接口 import PackageNamae.*;/引入PackageName包中的全部类和接口,程序演示: P145 任务4-12,Java的应用程序接口(API),Java 的应用程序接口(API)是以包的形式实现的,每个包中包含大量相关的类、接口等。 java.applet:包含有关小应用程序的处理 java.awt:有关图形用户界面的工具箱 java.io:输入输出包 java.lang:语言包 :网络包 java.util:实用程序包,类的访问权限,访问权限指本类中的成员可以被哪些类访问 访问权限修饰符:private(私有)、protected(保护)、public(公有),什么是异常?,在程序运行中导致程序终止运行的事件。如, 要求程序执行以零为除数的除法, 要求程序访问数组下标范围以外的数组元素, 要求访问空对象内的信息。,示例:观察该程序运行结果,public class OutputArray public static void main(String args) int country = 1,2,3,4; for (int iLoop = 0;iLoop=4;iLoop+) System.out.println(countryiLoop); System.out.println(“输出完成”);/没有输出代表程序非正常终止 ,发生异常后有怎样的后果?,程序非正常退出 运行过程数据丢失,一旦发生异常,我们希望:向用户通报异常的内容,保存用户已做的工作,让用户以适当的方式退出程序。 一个好的应用程序,除了具备用户要求的功能外,还要求能预见程序执行过程中可能产生的各种异常,并把处理异常的功能包括在用户程序中。,异常类的层次和主要子类,Java的异常处理机制,Java将异常视为对象。当Java程序执行的过程 中出现异常,将会自动产生一个异常对象,该对 象包含了该异常的相关信息。 可以编写代码处理异常,我们称之为捕获异常。 也可以不对该异常类对象作处理,将它抛给调 用它的方法来处理,这个过程称之为抛出异常。,Java的异常处理机制,异常处理有以下几种方式: 1)可以不处理运行时异常,由Java虚拟机自动进行处理 2)使用try-catch-finally语句捕获异常 3)通过throws子句声明抛出异常,try-catch结构,Java采用try-catch-finally语句块来捕获异常,具体语法格式如下:,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(ArrayIndexOutOfBoundsException e) System.out.println(“发生数租越界异常“); System.out.println(“输出完成”); /能够输出代表程序正常终止 ,try-catch-finally结构,try /可能产生异常的语句 catch(ExceptionName e) /异常处理语句 finally /必须执行的语句 ,无论try语句中是否发生异常,finally语句块中的内容都会被执行,try-catch-finally结构执行次序,try-catch-finally分析,try:将有可能出现错误的程序代码放在try块中,对try块中的程序代码进行检查,可能会抛出一个或多个异常,因此,try后面可跟一个或多个catch; catch:功能是捕获异常,catch捕获异常的过程中,要将Throwable类中的异常类型和try语句抛出的异常进行比较,若相同,则在catch中进行处理; finally:是这个组合语句的统一出口,一般用来进行一些“善后”操作,例如释放资源、关闭文件等。,练习,编程求解两个数相除的结果,并处理除数为0的异常情况,当出现异常时输出提示信息 “除数为0异常”,提示:除数为0的异常类型为 ArithmeticException,try-catch使用注意事项,(1)try语句块后面一定要有catch语句块或者finnaly语句块。catch语句块或者finally语句块都可以省略,但是它们不能同时都省略,否则将导致编译错误。 (2)catch语句块必须跟在try语句块的后面,如果有 多个catch语句块,它们之间是不能有其他任何语句的。,throws语句抛出异常,(1)对于Error和RuntimeException异常,在程序中可以进行捕获和处理,但不是必须的。如果在程序中没有对它们进行处理,编译器不会检查出错误来,可以通过编译。因此这些异常称为非检查异常。例如ArrayIndexOutOfBoundsException异常,我们如果在程序中不作异常

温馨提示

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

评论

0/150

提交评论