1.在Java中每个类都默认继承Object类,除非声明继承某个类。而Object类中有一个叫做toString的方法。该方法返回的是该Java对象的内存地址经过哈希算法得出的int类型的值在转换成十六进制。这个输出的结果可以等同的看作Java对象在堆中的内存地址。

例如:

package com.cal.toString;public class Test1 {public static void main(String[] args){Object o1 = new Object();System.out.println(o1.toString());}
}
结果:java.lang.Object@7852e922

2.如果我们定义一个实体类,返回的结果又会是什么呢?

package com.cal.toString;public class Test1 {public static void main(String[] args){Person p1 = new Person("king", 20);System.out.println(p1.toString());}
}class Person{String name;int age;Person(String name,int age){this.name = name;this.age = age;}
}
结果:com.cal.toString.Person@4e25154f很显然业务逻辑不太合适,不应该是一串看不懂的数字,而应该是符合逻辑的东西

3.这就表示Object中的toString方法已经不够用了。所以Object中的toString方法就是要被重写。

package com.cal.toString;public class Test1 {public static void main(String[] args){Person p1 = new Person("king", 20);System.out.println(p1.toString());}
}class Person{String name;int age;Person(String name,int age){this.name = name;this.age = age;}public String toString(){return "Person[name="+name+", age="+age+"]";}
}

这里就把toString方法重新写了,注意toString的返回值是String,结果明显就很符合逻辑了

结果:Person[name=king, age=20]

每个Java类都有的toString方法相关推荐

  1. java继承实现不用每个类都写toString方法

    每个类都写toString方法很麻烦,采用继承可以很好的解决 import java.io.Serializable;import org.apache.commons.lang.builder.To ...

  2. java类的注释模板_IDEA添加Java类注释模版的方法

    本文介绍了idea添加java类注释模版的方法,分享给大家,具体如下: idea版本:intellij idea 2017.2.5 x64 eclipse能在类上方输入/**,回车添加类注释模版,但i ...

  3. java类功能说明注释添加,IDEA添加Java类注释模版的方法

    本文介绍了idea添加java类注释模版的方法,分享给大家,具体如下: idea版本:intellij idea 2017.2.5 x64 eclipse能在类上方输入/**,回车添加类注释模版,但i ...

  4. Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包

    文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程. Java程序中 ...

  5. Java记录 -45- List的toString方法

    在使用集合时,都习惯性的使用循环遍历其中的每个元素. 想知道集合中的每个元素的信息,是不是必须要循环遍历每个元素呢? 比如在打印日志信息时,有些集合如List需要记录下来,一般都使用循环遍历集合,将集 ...

  6. java 访问linux 根目录_paip兼容windows与linux的java类根目录路径的方法

    paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...

  7. java 访问linux 根目录_paip兼容windows与linux的java类根目录路径的方法 | 学步园

    paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...

  8. java之Equals和toString方法

    java之Equals和toString方法 Equals方法 Equals方法声明格式 public boolean equals(Object obj){ return (this == obj) ...

  9. Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )

    Java类Demo中存在方法func1.func2.func3和func4,请问该方法中,哪些是不合法的定义?( ) public class Demo{float func1(){int i=1;r ...

最新文章

  1. TSM简介(一)- 原理与特点
  2. 为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow?
  3. 数独简化版 (set去重)
  4. 【深度学习】基于web端和C++的两种深度学习模型部署方式
  5. tensorflow 数据格式
  6. 方立勋_30天掌握JavaWeb_response
  7. 如何通过浏览器在所有响应内容中查找文本
  8. Maven右边栏红色,omitted for duplicate 而且Failed to execute goal on project xxx-service: Could not resolve
  9. c语言无符号扩展,C语言中的无符号扩展和带符号扩展
  10. VISIO——word中插入visio图片 图片边缘空白裁剪
  11. 日系背景色RGB,CMYK数值
  12. Steam DS4手柄
  13. 1g内存编译android,如何让Android手机1G内存就“够用”?
  14. 该如何选择适合的服务器
  15. QQ空间g_tk算法的JS脚本的获取和分析
  16. Echarts柱状图上加图标
  17. 【转】如何实现小型WEB搜索引擎(C# SQL Server全文检索 Asp.net)
  18. android webView 全屏播放网络视频
  19. 将电脑的无线网通过有线分享给其他设备
  20. 显示器接口_如何选择显示器连接线?VGA、DVI、HDMI、DP四种主流接口知识

热门文章

  1. linux发包命令是什么,Linux tcpreplay 命令用法详解-Linux命令大全(手册)
  2. 微信小程序类美团用户商家距离计算
  3. java中单引号和双引号有什么区别?
  4. 【线段树_DFS序】POJ 3321 Apple Tree
  5. 微信小程序插件使用和更新
  6. glusterfs 常见操作
  7. 深度os 编译Android,DesireS G12 深度OS 安卓4.1.2 华丽UI界面 稳定流畅系统 超长省电待机...
  8. 基于IMX214+ZYNQ XC7Z100的1080P双目视觉智能平台方案
  9. VUE项目中集成AnimateCSS动画(2020.6.28 亲测可用)
  10. 随我一起慢慢揭开Andoird里事件分发机制的神秘面纱