To string

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

1
2
3
4
5
6
7
8
9
10
11
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());
}
}

运行结果如下:在这里插入图片描述

oString()方法解析开来,其实就是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()即可。