外部类名this - Read.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
外部类名this - Read

第 8 章 高 级 类 设 计 ;8.1 抽 象 类; 子类继承抽象的父类,必须实现父类定义的抽象方法,实现抽象方法要按照覆盖方法的规则来实现。如果子类不实现父类的抽象方法,子类就含有从父类继承的抽象方法,所以这时子类也必须定义为抽象类,这个抽象方法就要一直由子类传递下去,直到一个子类实现了这个方法,这个子类才能被实例化。 ;8.2 接 口; 对接口成员的定义有以下特殊的规定。 (1)接口中的域: ? 总是默认地使用public 、static和 final为修饰符,不能用private和protected作访问控制符。 ? 必须赋初值。;(2)接口中的方法: ? 总是默认地使用public abstract为修饰符, 不能用private和protected 作访问控制符。 ? 不能定义为static方法。; 接口不能被实例化,只能被其他的类来实现,实现接口的类和接口之间没有父子关系,这和抽象类是不同的。如果在类中实现接口,使用implements关键字,格式为: [修饰符] class 类名 [extends 父类名] implements 接口名列表{ 类成员 } 由于一个类可以实现多个接口,接口名之间用逗号隔开。 ; 实现接口的类一定要实现接口中定义的抽象方法,如果没有实现接口的抽象方法,则这个类也应该被声明为抽象类。实现接口的方法要注意:方法的访问控制必须为public,这是因为在接口中的抽象方法必须为public。 实现接口的同时也可以继承类 。; 接口也可以使用extends关键字,来继承父接口,而且可以继承一个以上的接口。 类只能有从另一个父类继承,接口可以继承多个接口,类可以实现多个接口。 ;8.3 覆盖Object类成员 ;8.3.2 hashCode( )方法 hashCode可以看作是一个对象的ID号,它是通过一些指定的算法实现的。 Object类提供了方法public int hashCode(?)来求得hashCode,该方法返回整数,这个整数就是该对象的hashCode。 ; hashCode(?)方法是根据对域计算得出的整数,而equals方法是判断对象的所有域是否相同;hashCode方法中并不一定是所有的域都参与运算,equals方法中要比较所有的域。 ;8.3.3 toString方法 Object对象中的toString方法返回的是字符串: 实例的类型 + “@” + Hash码 ;8.4 垃 圾 收 集; (1)只有JVM能决定垃圾收集的确切时间,程序员只能使用System.gc( )方法,请求进行垃圾收集,但是否收集还是由JVM决定。 (2)实例在被收集前,要被确定能够被收集,条件是没有任何活的线程能够“达到”该实例,即所有活线程中没有能够“达到”该实例的引用变量。; (3)一个对象被收集之前,都会保证运行一次Object类的finalize方法,可以对finalize方法进行覆盖,完成诸如关闭网络连接等工作。;8.5 异 常 ; 异常又可以分为可查异常和不可查异常两类。不可查异常包括RuntimeException类的子类,RuntimeException是程序内部设计或实现的问题,往往是和外部因素无关的,对程序的运行不会出现致命性影响的问题。Error类也是不可查的,这是因为程序员无法处理这些错误。 ; 可查异常包括除RuntimeException的子类以外的所有异常, 所以编译器要求对于可能出现可查异常的代码进行处理,否则会出现编译错误。;8.5.2 捕获和处理异常 在调用可能出现可查异常的方法时,必须将它放在try块中,并用catch块捕获、处理这个异常。其格式为: ;try{ 可能出现可查异常的代码 } catch(异常类名 引用变量名){ 处理异常的代码 } catch(异常类名 引用变量名){ 处理异常的代码 } ...... [finally{ 最终总要执行的代码 }]; 当try块中的代码出现异常时,程序就终止try块的代码执行,而是转到与该异常相同参数(及其子类)的catch块,执行处理异常的代码。最后的finally块是可选的,其中的代码最终一定要执行,无论是否出现了异常,无论处理异常的代码是否执行,除非try或catch中调用了System.exit

文档评论(0)

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

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

1亿VIP精品文档

相关文档