39.Object类

烂漫一生 提交于 2020-01-31 08:01:41

Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。

toString

Object类中定义有public String toString()方法,其返回值是 String 类型。Object类中toString方法的源码为:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

根据如上源码得知,默认会返回“类名+@+16进制的hashcode”。在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法。

package OOprogress;

/*
 * test Object类中的toString方法
 */

public class testObject {
	public static void main(String[] argd) {
		testObject to = new testObject();

		System.out.println(to);
		//调用继承Object类中的toString方法
		/*
		public String toString(){
			return getClass().getName() + "@" + Integer.toHexString(hashCode());
		}*/
		System.out.println(to.toString());
		
		
		Person2 p = new Person2("希希", 6);
		System.out.println(p.toString());
		
		
	}
	
	
	//在testObject类中重写toString方法
	public String toString() {
		return "测试Object对象!";
	}
	
	
}

//有同名类会报错
class Person2{
	String name;
	int age;
	
	@Override  //注解(表示下方方法重写)
	public String toString() {
		return name + "年龄 : " + age;
	}
	
	//构造器
	public Person2(String name, int age) {
		this.name = name;
		this.age = age;
	}
	
}

继承关系图如下
在这里插入图片描述

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