Object类是比较特殊的类,它是所有类的父类,是Java类层中的最高层类。在Object类中主要包括clone()、finnalize()、equals()、toString()等方法。由于所有的类都是Object类的子类,所以任何类都可以重写Object类中的方法,下面将介绍几个重要方法:
1、getClass()方法
该方法会返回对象执行时的Class实例,然后使用该实例调用getName()方法可以 取得类的名称,语法如下:
getClass().getName()
2、toString()方法
该方法的功能是将一个对象返回为字符串形式,它会返回一个String实例,通过以下示例来说明该方法:
public class ObjectInstance {
public String toString() {//重写toString()方法
return "在"+getClass().getName()+"类中重写toString()方法";
}
public static void main(String args[]) {
System.out.println(new ObjectInstance());
}
}
/*输出结果如下:
在test.ObjectInstance类中重写toString()方法
*/
3、equals()方法
该方法是比较两个对象的实际内容是否相同,通过下面示例来进行说明:
class V{//自定义类V
}
public class OverWriteEquals {
public static void main(String args[]) {
//实例化两个对象,内容相同
String s1 = "123";
String s2 = "123";
//使用equals()方法调用
System.out.println(s1.equals(s2));
//实例两个V类对象
V v1 = new V();
V v2 = new V();
//使用equals()方法比较v1和v2对象
System.out.println(v1.equals(v2));
}
}
/*输出结果如下:
true
false
*/
从上述示例可以看出,在自定义类中使用equals()方法进行比较时,返回的是false,以为equals()方法的默认实现是使用"=="运算符比较两个对象的引用地址,而不是比较两个对象的内容,所以想要真正做到比较两个对象的内容,需要在自定义类中重写equals()方法。
来源:CSDN
作者:为你灯明三千
链接:https://blog.csdn.net/qq_29440983/article/details/103497388