Java中的Object类

人走茶凉 提交于 2019-12-13 07:51:11

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()方法。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!