Java-012Object类
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()
可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。 {:10_316:}
页:
[1]