鱼C论坛

 找回密码
 立即注册
查看: 3164|回复: 1

[学习笔记] Java-012Object类

[复制链接]
发表于 2018-12-22 20:47:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、简介
Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。
Object 类定义了一些有用的方法,由于是根类,这些方法在其他类中都存在,一般是进行了重载或覆盖,实现了各自的具体功能。
Object类的构造方法有一个,并且是无参构造 ==>
                这就解释了 子类构造方法为什么会默认访问父类的构造是无参构方法。
2、Object的方法
1. equals() 方法
作用: 比较两个对象是否相同。默认情况下,比较的是地址值是否相同; 而比较地址值是没有意义的,所以,一般子类也会重写该方法。
语法:
    public boolean equals(Object obj)
在Java中,数据等价的基本含义是指两个数据的值相等。在通过默认的 equals() 和“==”进行比较的时候,引用类型数据比较的是引用,即内存地址,基本数据类型比较的是值。
注意:
        ① equals()方法只能比较引用类型,“==”可以比较引用类型及基本类型。
        ② 用“==”进行比较时,符号两边的数据类型必须一致(可自动转换的数据类型除外),否则编译出错,而用 equals 方法比较的两个数据只要都是引用类型即可。
2. toString() 方法
是对象的字符串表现形式。
语法:
    public String toString()
返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。这个表示其实是没有意义的,一般子类都会重写该方法。
在System.out.println()时,会自动调用。
3. hashCode() 方法
        ① 返回对象的哈希值。不是实际地址值。
        ② 哈希值(hashCode)是按照一定的算法由对象得到的一个数值,散列码没有规律。
        ③ hashCode() 方法主要用来在集合中实现快速查找等操作,也可以用于对象的比较。
        ④ 如果两个对象相同,那么它们的 hashCode 值一定要相同;如果两个对象的 hashCode 值相同,它们并不一定相同。在 Java 规范里面规定,一般是覆盖 equals() 方法应该连带覆盖 hashCode() 方法。
4. 其他方法
getClass()
        返回对象的字节码文件对象,反射中会用。       
finalize()
        用于垃圾回收,不确定其执行时间。
clone()        
        可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-5 11:10:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 23:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表