黑马程序员技术交流社区

标题: Object类 [打印本页]

作者: 嗬嗬嗬_000    时间: 2015-7-25 22:10
标题: Object类
Object类概述
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
每个类都直接或者间接地继承自Object
常用方法hashCode
返回该对象的哈希码值。
注意:哈希值是根据哈希算法计算出来的值,这个值和地址值有关,但不是实际的地址值.可以理解为地址值.
getClass
返回此 Object 的运行时类。
toString
返回该对象的字符串表示。
toString方法的值等价于:
this.getClass().getName() + '@' + Integer.toHexString(this.hashCode())
这个信息是没有意义的,所以建议所有子类都重写改方法
把该类的所有成员变量组成返回即可
重写最终方案:自动生成toString()即可
注意:
直接输出一个对象的名称就是调用该对象的toString()方法.
equals
指示其他某个对象是否与此对象“相等”。
public boolean equals(Object obj) {    return (this == obj);}
默认比较的是地址值,比较地址值意义不大,所以我们阿尧重写该方法.
重写:
一般比较对象的成员是否相等
对象名 instanceof 类名
表示判断对象名是否是该类名的一个对象
总结
==
equals:
finalize
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收是不确定的
clone
创建并返回此对象的一个副本.
要调用该方法:
Cloneable接口:
这个接口是标记接口:表示实现该接口的类就可以实现对象的复制了.
clone与=的区别
= 是将两个引用指向同一个对象
clone 是复制出一个对象


作者: 菜鸟哥    时间: 2015-7-25 22:26
就是目标啊!
作者: longbao    时间: 2015-7-25 23:33
toString和equals比较常用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2