Object类
(1)Object是类层次结构的根类,所有的类都直接或间接的继承自Object类
(2)Object类的构造方法有一个,就是无参构造
这其实就可以理解之前讲的:子类构造方法默认访问父类的构造是无参构造
(3)要掌握的方法
A:toString( )
返回对象的字符串表示,默认是由类的全路径+’@’+哈希值的十六进制表示
比如我在com.zhou 包下创建了Student类
Student s = new Student( );
sout(s.toString());//这里输出 com.zhou.Student@3a71f4dd
另外:sout(s)等价于sout(s.toString());
B:equals( )
比较两个对象是否相同。默认情况下,比较的是地址值是否相同。而比较地址值是没有意义的,所以,一般子类也会重写该方法的。
public int hashCode():返回该对象的哈希码值
public final Class getClass():返回运行时类
protected void f finalize():当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法,用于垃圾回收,但是什么时候回收不确定。
protected Object clone():创建并返回该对象的一个副本(副本的改变和原本的类没有任何关系)
注意问题:
A:直接输出一个对象名称,其实默认调用了该类的toString()方法
B:面试题
==和equals()的区别?
A:==
基本类型:比较的是地址值
引用类型:比较的是地址值是否相同
B:equals
只能比较引用类型。默认情况下,比较的是地址值是否相同,但是可以根据需求重写该方法。