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方法比较的是对象的属性

发布了72 篇原创文章 · 获赞 49 · 访问量 16万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览