些良好的编程习惯 ■带有清晰的变量名和实例名的文档代码 数据库应该是相关的 让简单的维护成为引导我们的灯光 ■总是采用最好的算法 ■永远不要隐藏一个我们仅用一次的实例,将其嵌 入到源代码中,然后,如果我们要多次使用一个 实例,则应将其变成一个方法调用 首先编写更具有风险的模块 首先优化最慢的模块 遵守30秒规则 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 6 一些良好的编程习惯 ◼ 带有清晰的变量名和实例名的文档代码 ◼ 数据库应该是相关的 ◼ 让简单的维护成为引导我们的灯光 ◼ 总是采用最好的算法 ◼ 永远不要隐藏一个我们仅用一次的实例,将其嵌 入到源代码中,然后,如果我们要多次使用一个 实例,则应将其变成一个方法调用。 ◼ 首先编写更具有风险的模块 ◼ 首先优化最慢的模块 ◼ 遵守30秒规则
5.2Java语言的 Object:类及标准包
5.2 Java语言的Object类及标准包
Java语言的 Object类 a Object类是类层次的根。 所有类都直接或间接地继承了 object类, 所以一个 object类型的变量可以引用任在 对象,不论是类实例还是数组。 object类定义了11个可供所有对象继承的 方法。这些方法分为两类:通用工具方法 和支持线程的方法。 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 8 Java语言的Object类 ◼ Object类是类层次的根。 ◼ 所有类都直接或间接地继承了Object类, 所以一个Object类型的变量可以引用任何 对象,不论是类实例还是数组。 ◼ Object类定义了11个可供所有对象继承的 方法。这些方法分为两类:通用工具方法 和支持线程的方法
Object类的工具方法 public boolean equals(object obj) public int hash Code( protected Object clone throws CloneNotsupported Exception public final class getclass( protected void finalize throws Throwable public String toString( oublic final void wait(long timeout) throws Interrupted Exception public final void wait(long timeout, int nanos) throws InterruptedException public final void waito throws Interrupted Exception public final void notify public final void notifyAllo 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 9 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()返回true时, X, equals(y)才会返回true ■传递性( Transitive)对于引用、y和z,如果 , equals(y)返回true,y. equals(z)也返回true,那么 . equals(z)也将返回true。 致性( Consistent)对于引用x和y,只要对象比较时 所有的信息并没有做任何的改动,那么多次调用 equals(y)要么都返回true,要么都返回 false。 对于任何非空引用(non- null reference)x, equals(nu)将返回 False 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 10 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