JAVA基础中toString()的讲解

1.要理解toString()方法,首先要知道,在JDk中提供一个Object类,它是所有类的父类,即每个类都直接或间接的继承自该类。
注:个人理解,即,任何类中,都可以直接使用Object类中定义的方法,例如我们常用toString()方法。

package pers.day02;

class Animal{
	public Animal(){}   //不写,也会默认补上这个构造函数
}
public class AnimalDemo1 {
	public static void main (String[]  args) {
		Animal an = new Animal();
		System.out.println(an.toString());
	}
}

运行结果如下:
在这里插入图片描述
我们可以看到,并没有报错,但是打印出来的又是什么?现在我们了解一下toString()方法的作用。

2.这个toString()方法解析开来,其实就是getClass().getName()+"@"+Integer.toHexString(hashCode());第一眼看上去感觉很复杂,我们对照刚刚打印的信息来看:
getClass().getName()+"@"+Integer.toHexString(hashCode())
pers.day02.Animal@73035e27
1)getClass().getName()代表返回对象所属类的包名.类名,即pers.day02.Anima。
2)@对应@;
3)Integer.toHexString(hashCode())代表将对象的哈希值用16进制表示,其中hashCode()代表返回该对象的哈希值。

3.然而,在实际开发中,通常希望toString()方法返回的不只是基本信息,所以Object的toString()方法通常会被重写,如下,我们只需在Animal类中重写toString()即可。

class Animal{
	public Animal(){}   //不写,也会默认补上这个构造函数
	public String toString(){
		return "特有信息!";
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42437164/article/details/88721770