/* sun在object类中设计toString方法的目的,返回java对象的字符串表示形式
对象在控制台上用字符串表示的话,显示字符串的话用toString方法
在现实的开发过程中,Object中的toString方法已经不够用了
因为Object里的toString方法实现的结果不满意
Object里的toString方法就是要被重写的,其他很多方法也是要被重写的
sun里面是这样实现toString方法的
public String toString(){
return getClass().getName+"@"+Integer.toHexString(hashcode());
}
Object中的toString方法返回:类名@java对象的内存地址经过哈希算法得出的int类型值再转换成十六进制
这个输出结果可以等同看做java对象在堆中的内存地址
*/
public class fuck1{
public static void main(String[] args){
Object o1=new Object();
String ostr=o1.toString();
System.out.println(ostr); //java.lang.Object@15db9742
person p1=new person("hah",15);
String pstr=p1.toString();
System.out.println(pstr);//person@6d06d69c
person p2=new person("newb",11);
System.out.println(p2);
//print方法后面括号如果是一个引用类型,会默认调用引用类型的toString方法
System.out.println(p2.toString());
}
}
class person{
String name;
int age;
person(String name,int age){
this.name=name;
this.age=age;
}
//改写toString方法
public String toString(){
return "person:"+this.name+",age"+age;
}
}