Java面向对象程序设计第6章 内部类和异常类.ppt

Java面向对象程序设计第6章 内部类和异常类.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对于自定义异常,必须采用throw语句抛出异常,这种类型的异常不会自行产生。总体上分为两步: 第1步:定义异常类 第2步:定义异常对象,并抛出该对象。 自定义异常类 第1步:定义异常类 class userException extends Exception{ int n=0; // 计数器 userException( ) { n++; } userException(String s ){ super(s); n++; }? String show( ) { return 自定义异常对象:+n; } } 自定义异常类 第2步:定义异常对象,并抛出该对象。 public class testException{ static void Test( ) throws UserException{ userException e; e=new userException(自定义异常 ); throw e; } public static void main(String args[ ]) { try{ Test( ); }catch(userException e) { System.out.println(e.show( )); } } } 自定义异常类 6.4 断言 Java1.4以后引入断言机制 主要用于监视代码的执行状态 两种格式: assert booleanExperession; 如果booleanExperession为真,继续执行,否则在此处停止执行 assert booleanExperession:messageExpression 如果booleanExperession为真,继续执行,否则在此处停止执行,并输出messageExpression * Eclipse中启用断言: Run - Run... - Arguments菜单项的VM arguments区域,加上断言开启的标志-enableassertions 或者-ea ,然后在debug环境下运行。 §6.5 小结 内部类 匿名类 异常类 断言 谢谢! 《Java面向对象程序设计》 第6章 * 。try模块中的语句可能抛出很多不同类型的异常,所以需要针对不同类型的异常分别设计catch模块,每一模块处理一种类型的异常 * 。try模块中的语句可能抛出很多不同类型的异常,所以需要针对不同类型的异常分别设计catch模块,每一模块处理一种类型的异常 * 祈使句 陈述句 * * Throw所在方法必须加throws 21 21 21 21 21 21 21 21 21 21 21 21 《Java面向对象程序设计》 第6章 内部类与异常类 主讲:王美丽 办公室:信息学院403 Email: meili_w@nwsuaf.edu.cn 内部类 匿名类 异常类 断言 难点 异常类 主要内容 6.1 内部类 类的成员: 成员变量、成员方法 Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类。 内部类可以访问外嵌类的成员变量、成员方法 。 外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。 内部类的类体中不可以声明类变量和类方法。 内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。 内部类例 public class China{ private String song=义勇军进行曲; public void test(){} class Beijing{ String name=北京; void speak(){ System.out.println(Our capital is: +name+,Our national song is :+song);}} public static void main(String[] args) { China c= new China(); c.new Beijing().speak();}} 6.2 匿名类 匿名内部类:子类去掉类声明的类体 优点: 使代码更加简洁、紧凑,模块化程度更高。 匿名内部类两种实现方式: 继承一个类,重写其方法; 实现一个接口(可以是多个),实现其方法。 匿名类是一个子类,用于临时创建一个内部类对象,不必单独去定义该子类 匿名类体内可以对父类、抽象类以及接口的方法进行重写 由于匿名类没有类名,因此不能重用这个对象 创建形式: new People(){ 匿名类类体 }; 匿名类在创建对象时,要

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档