Java基础Object类的toString方法

简介: Java基础Object类的toString方法

关于Object类中的toString()方法


1、源代码长什么样?


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


源代码上toString()方法的默认实现是:

类名@对象的内存地址转换为十六进制的形式


2、SUN公司设计toString()方法的目的是什么?


toString()方法的作用是什么?

toString()方法的设计目的是:通过调用这个方法可以将一个“java对象”转换成“字符串表示形式”


3、其实SUN公司开发java语言的时候,建议所有的子类都去重写toString()方法。


toString()方法应该是一个简洁的、详实的、易阅读的.


示例代码:


public class ObjectTest01{
  public static void main(String[] args){
  //创建时间对象
  MyTime m = new MyTime(2022,8,14);
  // 一个日期对象转换成字符串形式的话,我可能还是希望能看到具体的日期信息。
  String t = m.toString();
  //MyTime类重写toString()方法之前
  //System.out.println(t); // MyTime@28a418fc
  System.out.println(t);//2022年8月14日
  System.out.println(m.toString());//2022年8月14日
  // 注意:输出引用的时候,会自动调用该引用的toString()方法。
  System.out.println(m);//2022年8月14日
  }
}
class MyTime{
  private int year;
  private int month;
  private int day;
  public MyTime(){
  }
  public MyTime(int year,int month,int day){
  this.year = year;
  this.month = month;
  this.day = day;
  }
  // 重写toString()方法
  // 这个toString()方法怎么重写呢?
  // 越简洁越好,可读性越强越好。
  // 向简洁的、详实的、易阅读的方向发展
  public String toString(){
  return this.year + "年" + this.month + "月" + this.day + "日";
  }
}


相关文章
|
9天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
JavaScript 前端开发
`Object.create()` 方法的参数
【10月更文挑战第29天】`Object.create()` 方法的参数提供了多种创建对象和控制对象属性及继承关系的方式,开发人员可以根据具体的需求灵活运用,以实现更高效、更符合设计要求的对象创建和继承机制。
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
137 4
|
2月前
|
设计模式
在实际开发中,什么时候应该使用 `new` 关键字,什么时候应该使用 `Object.create()` 方法?
【10月更文挑战第29天】`new` 关键字适用于创建具有特定类型和初始化逻辑的对象实例,以及实现基于原型链的继承;而 `Object.create()` 方法则适用于基于现有对象创建相似对象、避免构造函数的副作用、创建具有特定原型链的对象等场景。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象,以实现更高效、更灵活的代码结构。
|
3月前
|
Java 索引
Object有哪些常用方法
掌握这些方法不仅能够帮助你编写出更加健壮和高效的Java代码,还能加深对面向对象编程概念的理解。在实际开发中,合理利用 `Object`类提供的方法能够有效提升代码的可读性、可维护性和性能。
83 0
|
4月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
502 37
|
3月前
|
存储 安全 Java
java基础面试题
java基础面试题
36 2
|
5月前
|
Java
【Java基础面试三十九】、 finally是无条件执行的吗?
这篇文章解释了Java中的finally块的特性,即无论是否发生异常或执行了return语句,finally块都会无条件执行,除非使用System.exit()退出虚拟机。
|
5月前
|
Java
【Java基础面试四十一】、说一说你对static关键字的理解
这篇文章主要介绍了Java中static关键字的概念和使用规则,强调了类成员与实例成员的区别及其作用域的限制。
|
5月前
|
Java 数据库连接
【Java基础面试三十六】、遇到过异常吗,如何处理?
这篇文章介绍了Java中处理异常的三个步骤:捕获异常、处理异常(记录日志、根据异常类型和业务情况处理)、以及回收资源(在finally块中关闭资源)。