Object类
(1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
(2)Object类的构造方法有一个,并且是无参构造
这其实就是解释子类构造方法默认访问父类的构造是无参构造
(3)要掌握的方法:
A:toString()
返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。
这个表示其实是没有意义的,一般子类都会重写该方法,alt+shift+S可以重写方法。
@注意:直接输出一个对象名称,其实默认调用了该对象的toString()方法。
B:equals()
比较两个对象是否相同。默认情况下,比较的是地址值是否相同。
而比较地址值是没有意义的,所以,一般子类也会重写该方法。
alt+shift+S可以重写方法。
==和equals()的区别?
A:==
基本类型:比较的是值是否相同
引用类型:比较的是地址值是否相同
B:equals()
只能比较引用类型。默认情况下,比较的是地址值是否相同。
但是,我们可以根据自己的需要重写该方法。
比如在学生类中重写toString()方法:
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
这样当直接输出一个Student对象名称时,就会输出名字年龄
其他的方法:
hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。
getClass() 返回对象的字节码文件对象
finalize() 用于垃圾回收,在不确定的时间
clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。 |
|