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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值