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接口: - 此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制.如果在没有实现 Cloneable 接口的实例上调用Object的clone方法,则会导致抛出 CloneNotSupportedException 异常。
这个接口是标记接口:表示实现该接口的类就可以实现对象的复制了. clone与=的区别= 是将两个引用指向同一个对象
clone 是复制出一个对象
|