Object类
Object类是所有类的父类,任何类都默认继承java.lang.Object类。
该类中主要有以下方法:
- toString()
- getClass()
- equals()
- clone()
- finalize()
其中toString(),getClass(),equals是其中最重要的方法。
1、toString()方法
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@” 和此对象哈希码的无符号十六进制表示组成。
该方法用得比较多,一般子类都有覆盖。
我们推荐在学习阶段所有有属性的类都加上toString() 方法!
public static void main(String[] args){
Object o1 = new Object();
System.out.println(o1.toString());
}
//输出java.lang.Object@1b6d3586
2、getClass()方法
返回次Object的运行时类类型。
不可重写,要调用的话,一般和getName()联合使用,如getClass().getName()
public static void main(String[] args) {
Object o = new Object();
System.out.println(o.getClass());
//class java.lang.Object
}
3、equals()方法
Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参 obj所引用的对象是否是同一对象
所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的hi同一块内存对象,则返回true,如果 this和obj指向的不是同一块内存,则返回false。
注意:即便是内容完全相等的两块不同的内存对象,也返回false。
如果是同一块内存,则object中的equals方法返回true,如果是不同的内存,则返回false
如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equal方法
String类已经重写了object中的equals方法(这样就是比较内容是否相等了)