java基础十五 Object类详解

Object类:java中类层次结构的根类 所有类都直接/间接继承自该类
构造方法
public Object()
子类构造方法默认访问的是父类的无参构造
主要方法
1.public int hasCode()
返回该对象的哈希码值 默认情况下 该方法会根据对象的地址来计算 不同对象的hashCode()一般不同 但是同一对象的hashCode()值肯定相同
2.pulic final Class getClass()
获取该对象的字节码文件 返回这个对象(Object)的运行时类
注意:这里的Class是描述类的一个类(在java后期的反射会用的比较多) 可以通过Class类中的一个方法(getName())来获取对象所属的类的全名称
3.public String toString()
返回该对象的字符串表示 如果打印对象的引用会默认调用toString()方法 如果它没有重写这个方法 就会调用Object类的toString()方法
注意:
这个方法默认的返回值等于:
对象.getClass().getName()+"@"+Integer.toHexString(hashCode())
相当于:类名称@哈希码的十六进制表示
其中toHexString()方法返回的是数字的十六进制表示形式
默认情况下 toString()方法返回的数据对我们来说是没有意义的 所以一般建议重写
4.public boolean equals(Object obj)
这个方法表示其他某个对象是否和这个对象“相等" 默认情况下比较的是对象的引用是否相同 没有意义 所以在开发中一般重写 用来比较属性值

知识点:
==和equals方法的异同?
同:都可以用来作比较 返回值都是boolean
异:
1.==是一个比较运算符号 既可以比较基本数据类型(此时比较的是值) 又可以比较引用数据类型 (此时比较的是地址值)
2.equals()是一个方法 只能比较引用数据类型 所有对象都继承Object中的方法 如果没有重写Object类中的equals方法 equals()方法和==号在比较引用类型数据时没有区别(此时底层依赖的是==来实现)重写后的equals方法比较的是对象的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值