江西师范大学Java语言程序设计课件第5章 对象设计的Java规范.ppt

江西师范大学Java语言程序设计课件第5章 对象设计的Java规范.ppt

  1. 1、本文档共120页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象程序设计教程 第 5 章 对象设计的Java规范 主要内容 5.1 好程序的基本条件 5.2 Java语言的Object类及标准包 Object类 java.lang包 Java标准包 5.3 Java的异常处理机制 异常处理 核心代码与异常处理分离机制 引发异常及对异常处理的两条途径 Java的内置异常类 设计异常类 断言语句 对异常不作为与作为的区别 5.4 包、接口、类与方法设计 包设计\制作JAR文件包 接口设计 抽象类设计\类设计 方法设计 5.5 Java编码的其它规范 遵循编程规范的重要性 软件维护所占的成本约为一个软件生命周期中总成本的80%。 任何一个软件的维护工作都不可能始终由最初的编程人员来执行。 编程规范提高了软件的可读性,使工程师更快更彻底地读懂新的源代码。 如果我们的源代码是作为商品而开发的,我们必须保证相关源代码可以与其它商品清晰分开,并进行合理的打包。 一些良好的编程习惯 致命的异常终止决不允许 一条错误信息应该报告什么发生了,关于这个用户能够做什么,程序下一步要做什么,以及哪一行代码造成该问题?可能也要注意时间,用户名和环境。 好的程序将自动地发送最近的错误信息给永久性媒体 以这个次序编写:用户手册?说明书?帮助?源代码 编码工作量应该不超过开发工作的20% 测试应该至少要占工程的30% 注释应该至少要占源代码的20% 一些良好的编程习惯 带有清晰的变量名和实例名的文档代码 数据库应该是相关的 让简单的维护成为引导我们的灯光 总是采用最好的算法 永远不要隐藏一个我们仅用一次的实例,将其嵌入到源代码中,然而如果我们要多次使用一个实例,则应将其变成一个方法调用。 首先编写更具有风险的模块 首先优化最慢的模块 遵守30秒规则 Java语言的Object类 Object类是类层次的根。 所有类都直接或间接地继承了Object类,所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组。 Object类定义了11个可供所有对象继承的方法。这些方法分为两类:通用工具方法和支持线程的方法。 Object类中定义的可供对象继承的方法 public boolean equals(Object obj) public int hashCode() protected Object clone() throws CloneNotSupportedException public final Class getClass() protected void finalize() throws Throwable public String toString() public final void wait(long timeout) throws InterruptedException public final void wait(long timeout, int nanos) throws InterruptedException public final void wait() throws InterruptedException public final void notify() public final void notifyAll() Object类中equals方法的性质 反身性(Reflexive) 对于任何引用x,x.equals(x) 将返回true。 对称性(Symmetric) 对于引用x和y,当且仅当y.equals(x) 返回true时,x.equals(y)才会返回true。 传递性(Transitive) 对于引用x、y和z,如果x.equals(y)返回true,y.equals(z)也返回true,那么x.equals(z)也将返回true。 一致性(Consistent) 对于引用x和y,只要对象比较时所有的信息并没有做任何的改动,那么多次调用x.equals(y)要么都返回true,要么都返回false。 对于任何非空引用(non-null reference)x,x.equals(null)将返回false。 Object类中hashCode方法的性质 在一次Java应用中,只要对象比较时所有的信息并没有做任何的改动,无论该对象的hashCode方法被调用多少次,每次返回的散列码都必须是同一个整数值。但在不同的Java应用中,这个散列码的数值允许不一样。 如果有两个对象通过equals方法比较返回true,那么分别调用这两个对象的hashCode方法返回的散列码数值也相等。 并不要求当通过Object类的equals方法比较结果不相等时,调用这两个对象的hashCode方法所得的散列码一定不一样。但是,Java语言建议在这种情

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档