Object 类
Object 是万类之根,所有类都直接或间接继承它
Object 类的构造方法只有一个,是一个无参构造方法
成员方法
public String toString():返回该对象的字符串表示
执行该方法得到以下值:
com.igeekhome.demo03.Student@15db9742
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
得到的东西对我们来说毫无意义
带包全名称@15db9742
15db9742:哈希码的无符号十六进制
因此建议所有子类都重写此方法
用意:类中提供一个方法可以让别人访问成员变量
public boolean equals(Object obj):其他某个对象是否与此对象“相等”
参数:obj - 要与之比较的引用对象
返回:如果此对象与 obj 参数相同,则返回 true;否则返回 false
重写该方法,让它变得有意义起来让成员变量都能得到对比
== 和 equals 的区别:
==:
基本类型:比较值是否相等
引用类型:比较地址值是否相等
equals:
基本类型:无
引用类型:默认比较地址值是否相等,一般重写,让成员变量都能得到对比,用自动生成的代码
public int hashCode():返回该对象的哈希码int值
由Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数
public final Class<?> getClass():返回此 Object 的运行时类
Class类的getName():返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称,带包全称
protected Object clone():创建并返回此对象的一个副本
需要继承类实现cloneable接口并重写,该接口无任何成员,仅仅作为标记