为什么要重写ToString?
其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值 ,这个变量是什么类型的变量等 ,并且任何类都从Object继承了这个方法,你不重写toString()方法的话输出的就是一个内存地址,也就是哈希码值。并不是输出这个类的各个变量的值,记得不重写好像只打印对象的类型而已。
返回的是 getClass().getName() + “@” +Integer.toHexString(hashCode());
也就是 类名 + @ +hashCode的值
例子:打个比方,比如一个People类,里边有name,age这两个属性,
People p = new People();
p.toString();
这么做的话,默认输出就是一个内存地址,也就是哈希码值。那么你会想到重写ToString(),重写这个方法,按自己的方式去输出。
比如将toString的方法体改为:return p.name+p.age;