Object类☆ (1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。 (2)Object类的构造方法有一个,并且是无参构造 这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造 (3)要掌握的方法: A:toString() 返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。 这个表示其实是没有意义的,一般子类都会重写该方法。 重写之后方法返回的是所有成员变量值 但是最终还是自动生成。 B:equals() 比较两个对象是否相同。默认情况下,比较的是地址值是否相同。 而比较地址值是没有意义的,所以,一般子类也会重写该方法。 重写之后,方法比较的是成员变量值是否相同 但是最终还是自动生成。 (4)要了解的方法: A:hashCode() 返回对象的哈希值。 它是由实际的地址值通过哈希运算而得到的一个值,可以理解为地址值 B:getClass() 返回Object的运行时类 C:getName() 以String形式返回Class对象所表示的实体名称 对象.getClass().getName() 输出的是当前这个类的包名以及类名(全路径名称) D:finalize() 用于垃圾回收,在不确定的时间 E:clone() 可以实现对象的克隆 包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。 (5)两个注意问题; A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。 B:面试题 ==和equals()的区别? A:== 基本类型:比较的是值是否相同 引用类型:比较的是地址值是否相同 B:equals() 只能比较引用类型。默认情况下,比较的是地址值是否相同。 但是,我们可以根据自己的需要重写该方法。
|