1.Object()类的toString()

Java默认的toString方法来自Object类

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

在没有重写toString的前提下,每次执行System.out.println(对象引用),这个方法就会默认调用一个继承来自Object类型对象的toString方法。

public class Object { public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}
}

一个对象,则直接打印该对象的hash码(类似于@15dc2556),它的值大概就是等于getClass().getName+‘@’+Integer.toHexString(hashCode())

2.重写toString()方法意义

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

基本数据类型都重写toString() 方法

public final class Integer extends Number implements Comparable<Integer> {        public String toString() {return toString(value);}public static String toString(int i) {if (i == Integer.MIN_VALUE)return "-2147483648";int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);char[] buf = new char[size];getChars(i, size, buf);return new String(buf, true);}
}

3.总结

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


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

Java基础——重写toString()方法相关推荐

  1. java Object 重写toString方法

    Object 是java内置的一个类 在java lang包下 Object 没有继承任何类 大家可以把他理解为祖先 所有的类多直接或间接继承了Object 也就是 我们可以在任何类种使用 Objec ...

  2. python类似于java的重写toString方法

    python类中的特殊方法: __str__(self)用来重写 people类: class People:'所有员工的基类'#构造函数def __init__(self, user_id, use ...

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

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

  4. java 默认tostring_【java基础】为什么重写toString()方法?

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

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

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

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

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

  7. 【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型

    目录 方法覆盖Override 多态 方法覆盖Override 方法覆盖初体验,什么样的程序要方法覆盖 /*当前程序存在的问题(设计上的问题)??鸟儿在执行move()方法的时候,最好输出的结果是:& ...

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

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

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

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

最新文章

  1. Android开发实践:为什么要继承onMeasure()
  2. 用定时中断来接收红外遥控信号
  3. 关于ResultSet can not re-read row data for column 1 解决方法
  4. mariadb主从搭建
  5. java 内存接口_java中多态机制的内存解析、抽象类、接口
  6. python爬取论文代码_Python selenium爬取微信公众号文章代码详解
  7. 前端怎么自我介绍_未雨绸缪,小米前端实习面经
  8. 【OpenGL】Shader实例分析(七)- 雪花飘落效果
  9. C++ 10 进制 转 16进制
  10. MES系统之生产管理系统功能介绍(源码)
  11. 【业余无线电BI1FKP】宝峰UV9R-Plus写频、自制写频线
  12. 高股息组合与指数基金谁好?
  13. logit回归怎么看显著性_[转载]spss logistic回归方程检验
  14. 计算机资源管理窗口,资源管理器怎么打开,教您打开电脑资源管理器
  15. 大学计算机基础知识学习计划,大学个人学习计划
  16. 互联网自动化赚钱的方法
  17. 简单的运动模糊效果实现
  18. 第九讲:因子分析(Factor analysis)
  19. 华为机试题目:工单调用策略
  20. 一键即可实现图片翻译成中文,多国语言任意选

热门文章

  1. powershell常见缩写与中文意思
  2. Discuz! 6.1 - 自动禁止非公开版面向Home推送事件
  3. 基于离差最大化的区间数多属性权重确定与TOPSIS方法及matlab应用
  4. PCL学习笔记(三十三)-- 在平面模型上构建凸(凹)多边形
  5. 酷睿i5 1135g7 怎么样,相当英特尔什么水平 i5 1135g7评测 天梯图
  6. SCOM 简单安装指南 [SCOM中文系列之二]
  7. GBU8K-ASEMII家电电源专用器件GBU8K
  8. 大数据之Hive:hive中的cross join函数
  9. 数据透视表sql:用SQL行列转换实现数据透视的一些思考
  10. day01 计算机基础和环境搭建