toString方法详解



/* 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;
 }
 
}

猜你喜欢

转载自blog.csdn.net/rolic_/article/details/80201526