每个Java类都有的toString方法
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方法相关推荐
- java继承实现不用每个类都写toString方法
每个类都写toString方法很麻烦,采用继承可以很好的解决 import java.io.Serializable;import org.apache.commons.lang.builder.To ...
- java类的注释模板_IDEA添加Java类注释模版的方法
本文介绍了idea添加java类注释模版的方法,分享给大家,具体如下: idea版本:intellij idea 2017.2.5 x64 eclipse能在类上方输入/**,回车添加类注释模版,但i ...
- java类功能说明注释添加,IDEA添加Java类注释模版的方法
本文介绍了idea添加java类注释模版的方法,分享给大家,具体如下: idea版本:intellij idea 2017.2.5 x64 eclipse能在类上方输入/**,回车添加类注释模版,但i ...
- Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包
文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程. Java程序中 ...
- Java记录 -45- List的toString方法
在使用集合时,都习惯性的使用循环遍历其中的每个元素. 想知道集合中的每个元素的信息,是不是必须要循环遍历每个元素呢? 比如在打印日志信息时,有些集合如List需要记录下来,一般都使用循环遍历集合,将集 ...
- java 访问linux 根目录_paip兼容windows与linux的java类根目录路径的方法
paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...
- java 访问linux 根目录_paip兼容windows与linux的java类根目录路径的方法 | 学步园
paip兼容windows与linux的java类根目录路径的方法 1.只有 pathx.class.getResource("")或者pathx.class.getResourc ...
- java之Equals和toString方法
java之Equals和toString方法 Equals方法 Equals方法声明格式 public boolean equals(Object obj){ return (this == obj) ...
- Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )
Java类Demo中存在方法func1.func2.func3和func4,请问该方法中,哪些是不合法的定义?( ) public class Demo{float func1(){int i=1;r ...
最新文章
- TSM简介(一)- 原理与特点
- 为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow?
- 数独简化版 (set去重)
- 【深度学习】基于web端和C++的两种深度学习模型部署方式
- tensorflow 数据格式
- 方立勋_30天掌握JavaWeb_response
- 如何通过浏览器在所有响应内容中查找文本
- Maven右边栏红色,omitted for duplicate 而且Failed to execute goal on project xxx-service: Could not resolve
- c语言无符号扩展,C语言中的无符号扩展和带符号扩展
- VISIO——word中插入visio图片 图片边缘空白裁剪
- 日系背景色RGB,CMYK数值
- Steam DS4手柄
- 1g内存编译android,如何让Android手机1G内存就“够用”?
- 该如何选择适合的服务器
- QQ空间g_tk算法的JS脚本的获取和分析
- Echarts柱状图上加图标
- 【转】如何实现小型WEB搜索引擎(C# SQL Server全文检索 Asp.net)
- android webView 全屏播放网络视频
- 将电脑的无线网通过有线分享给其他设备
- 显示器接口_如何选择显示器连接线?VGA、DVI、HDMI、DP四种主流接口知识
热门文章
- linux发包命令是什么,Linux tcpreplay 命令用法详解-Linux命令大全(手册)
- 微信小程序类美团用户商家距离计算
- java中单引号和双引号有什么区别?
- 【线段树_DFS序】POJ 3321 Apple Tree
- 微信小程序插件使用和更新
- glusterfs 常见操作
- 深度os 编译Android,DesireS G12 深度OS 安卓4.1.2 华丽UI界面 稳定流畅系统 超长省电待机...
- 基于IMX214+ZYNQ XC7Z100的1080P双目视觉智能平台方案
- VUE项目中集成AnimateCSS动画(2020.6.28 亲测可用)
- 随我一起慢慢揭开Andoird里事件分发机制的神秘面纱