JAVA语言程序设计 课课件(上).pptVIP

  1. 1、本文档共230页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.12 接口的回调 不同的类在使用同一接口时,可能具有不同的功能体现,即接口的方法体不必相同,因此,接口回调可能产生不同的行为。下面我们看看使用了接口的回调技术的例子。 2.接口做参数 当一个方法的参数是一个接口类型时,如果一个类实现了该接口,那么,就可以把该类的实例的引用传值给该参数,参数可以回调类实现的接口方法。下面我们再看一个接口做参数的例子。 返回 5.13 面向接口 面向接口也可以体现程序设计的“开-闭”原理(Open-Closed Principle),即对扩展开放,对修改关闭。将自己经常需要变化的细节分割出来,作为接口中的abstract方法,然后面向接口来设计类。 例子 5.14 abstract类与接口的比较 1.abstract类和接口都可以有abstract方法。 2.接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。 3.abstract类中也可以有非abstract方法,接口不可以。 5.15 内部类 我们已经知道:类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:内部类。 Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。内部类同类中声明的方法或成员变量一样,一个类把内部类看作是自己的成员。外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。内部类的类体中不可以声明类变量和类方法。外嵌类可以用内部类声明对象,作为外嵌类的成员。下面让我们结合这个例子更好的了解内部类。 返回 5.16 匿名类 1.和类有关的匿名类 当使用类创建对象时,程序允许我们把类体与对象的创建组合在一起,也就是说,类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体,称作匿名类。匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。假设Hello是类,那么下列代码就是用Hello的一个子类(匿名类)创建对象: 5.13 匿名类 new Hello () { 匿名类的类体 } 匿名类可以继承类的方法也可以重写类的方法。我们使用匿名类时,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类,匿名类可以访问外嵌类中的成员变量和方法,匿名类不可以声明static成员变量和static方法。匿名类的主要用途就是向方法的参数传值。下面的例子展示了匿名类的用法。 5.13 匿名类 2.和接口有关的匿名类 假设Computable是一个接口,那么,Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了Computable接口的类去掉类声明后的类体,称作匿名类。下列代码就是用实现了Computable接口的类(匿名类)创建对象: new Computable() { 实现接口的匿名类的类体 } 5.16 匿名类 如果某个方法的参数是接口类型,那么我们可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须要实现接口中的全部方法。 下面的例子17展示了和接口有关的匿名类的用法。 程序的运行结果如下: 返回 5.17 异常类 所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误作出处理。这一章将对异常给出初步的介绍,而Java程序中出现的具体异常问题在相应的章节中还将讲述。 当程序运行出现异常时,Java运行环境就用异常类Exception的相应子类创建一个异常对象,并等待处理 ava 使用try~catch语句来处理异常,将可能出现的异常操作放在try~catch语句的try部分,当try部分中的某个语句发生异常后,try部分将立刻结束执行,而转向执行相应的catch部分; 5.17 异常类 所以程序可以将发生异常后的处理放在 catch部分。 1.try~catch语句 try~catch语句的格式如下: try { 包含可能发生异常的语句 } catch(Ex

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档