不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来未必有十足把握回答上 中枪了咩,这篇文章旨在帮助初学者正确解读实体类重写toString() 方法。

解读一:java默认的toString方法来自Object 类

在Java中每个类都直接或者间接继承Object 类,toString() 方法同样来自于Object 类。

其实这不难理解,在没有重写tostring的前提下,每次执行System.out.println() 这个方法默认就会调用一个继承自Object 类型对象的toString 方法,这点是非常重要的基础前提!

解读二:重写toString()方法的意义所在

简单一句话就是重写toString() 可以理解为是对对象在打印输出时候的一种格式化。这样做符合业务逻辑,显示结果人性化。

object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码(类似@15db9742 这样的东东),它的值大概就是等于getClass().getName()+’@’+Integer.toHexString(hashCode()) ,我这乔治脑袋看着都晕,hash码 这玩意是给机器看的,平凡的人类是看不懂的鸭,什么?你要挑战?你相信你就是不一样的烟火?那行,我就举个例子给你看看,你可以试着在一个实体类中...啥?你要我自己来?额...行,我来就我来....

1、编写一个叫Person的实体类

public class Person {

private String name;

private Integer age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Person() {

}

public Person(String name, Integer age) {

this.name = name;

this.age = age;

}

}

2、编写测试类

public static void main(String[] args) {

Person person = new Person();

person.setAge(12);

person.setName("不一样的烟火");

System.out.println(person);

}

3、没重写tostring()方法的测试效果

4、加上tostring()方法的测试效果

现在的开发工具基本都有自动生成tostring() 方法的快捷键,我想大家都懂~

总结

1、没有重写tostring ,每执行System.out.println() 会默认调用Object 的toString 方法,情况如下:

2、重写tostring,每执行System.out.println() 会调用重写的toString 方法,情况则会根据重写的方法打印输出成自己想得到的格式。

3、为了养成良好习惯,建议每次编写实现类都重写一下tostring() 方法!!

java 默认tostring_【java基础】为什么重写toString()方法?相关推荐

  1. 【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  2. Java基础——重写toString()方法

    1.Object()类的toString() Java默认的toString方法来自Object类 在Java中每个类都直接或者间接继承Object类,toString()方法同样是来自于Object ...

  3. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  4. java中的tostring_java 中重写toString()方法

    toString()方法 一般出现在System.out.println(类名.toString()); toString()是一种自我描述方法 本身返回的是 getClass().getName() ...

  5. java实体类如果不重写toString方法,会如何?

    先认识一下Object Object 类的 toString 方法 返回一个字符串,该字符串由类名(对象是该类的一个实例).at 标记符"@"和此对象哈希码的无符号十六进制表示组成 ...

  6. [转载] java重写toString()方法

    参考链接: 在Java中重写toString() 前言: 在你兴高采烈的写完一个类,创建测试类时,创建对象,传入参数,调用对象,以为会得到参数值,但突然发现输出的是" 类名@什么东东?(其实 ...

  7. 【Java基础】重写equals方法详讲

    一.重写equals方法 [Java比较学习]重写equals方法的安全写法 1.重写equals方法的两种方式 这里提供两个比较常见的equals重写方法: ● 用instanceof实现重写equ ...

  8. java tostring 父类_java重写toString()方法

    toString()方法是Object类的方法,调用toString()会返回对象的描述信息. 1)为什么重写toString()方法呢? 如果不重写,直接调用Object类的toString()方法 ...

  9. Java重写toString()方法的意义

    1.重写toString()方法的作用: 其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值 ,这个变量是 ...

最新文章

  1. 控制网页的Panel是否显示
  2. 测试1111111111111111111
  3. Maven 学习之旅
  4. Python GUI编程--Tkinter
  5. 施华洛世奇的少女水晶梦还能继续吗?
  6. Asp.Net中几种相似数据绑定标记符号的解释及用法
  7. Python中的注释和算数运算符
  8. Q105:PC双系统:Windows 7下硬盘安装Ubuntu 16.04
  9. Go语言学习笔记(8)——包和结构体
  10. jq 克隆 移除table
  11. qq音乐下载|qq音乐播放器下载
  12. 核磁谱图分析步骤_核磁共振解析图谱的步骤
  13. matla图像处理基本操作
  14. 解决pip装包报错ERROR: Cannot unistall ‘llvmlite‘. It is a distutils installed project and thus we cannot..
  15. 小程序引用公共js,不看可惜了!!
  16. Hbuildx工具启动uniapp项目
  17. 墨者学院-phpMyAdmin后台文件包含分析溯源
  18. ubuntu-中文语言包无法下载
  19. 史上最难618,TCL夺得电视行业京东和天猫份额双第一
  20. EPICS记录参考--多位二进制输入记录(mbbi)

热门文章

  1. 苹果CMS cpu跑满占用高开启Redis高速缓存加快访问速度性能调优【转】
  2. 拉卡拉支付荣获第七届金柜台奖“年度最佳第三方金融服务”奖项
  3. 在linux中给文件重命名,在Linux中,如何重命名文件和目录
  4. C#执行任务Task,如果任务超时的话就取消当前任务,重新执行,规定次数内执行成功则执行成功的委托,超过规定的次数则失败的委托
  5. 使用vite创建vue项目步骤
  6. Nginx日志格式说明
  7. 苏宁iphone俱乐部会员服务,葫芦里装的什么药?
  8. java文本框的内容改变颜色_关于在java文本框类型组件改变字体颜色
  9. OUC 软件工程第04组 Alpha冲刺(3/3)
  10. 哪些手机看图软件可以查看CAD图纸?