Java Object toString方法原理解析

 更新时间:2020年03月18日 13:11:58   转载 作者:Dream0000  
这篇文章主要介绍了Java Object toString方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法将对象打印出来。如果重写了tostring方法则调用重写的toString 方法。

先看下面一段代码

public class ToStringTest {
  static int i = 1;

  public static void main(String[] args) {
    System.out.println("love "+new ToStringTest());
    ToStringTest a = new ToStringTest();
    a.i++;
    System.out.println("me "+a.i);
  }
public String toString(){
  System.out.print("I ");
  return "java ";
}
}

运行结果:

I love java
me 2

对代码剖析:

首先声明了一个静态变量i,,static修饰的成员或代码块在类加载的时候会进行内存申请,接着进入主方法main中,在第一句输出语句中,里面用new了此类对象,当执行该代码的时候,先会创建本类的对象,调用下面重写的tostring方法,输出I,返回java,再进行main方法中第一句话的打印输出,拼接得到I love java。

这个me2 的输出,是static的定理,类加载概念, static修饰的类,一般的一个类

只发生一次类加载。输出m2。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 介绍Java的大数类(BigDecimal)和八种舍入模式

    介绍Java的大数类(BigDecimal)和八种舍入模式

    在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。本文将介绍Java中的大数类BigDecimal及其八种舍入模式,有需要的可以参考借鉴。
    2016-08-08
  • JavaEE账号注册模拟网站邮箱激活

    JavaEE账号注册模拟网站邮箱激活

    这篇文章主要为大家详细介绍了JavaEE账号注册模拟网站邮箱激活,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java代码注释规范详解

    Java代码注释规范详解

    代码附有注释对程序开发者来说非常重要,随着技术的发展,在项目开发过程中,必须要求程序员写好代码注释,这样有利于代码后续的编写和使用。下面给大家分享java代码注释的规范,需要的朋友参考下
    2016-02-02
  • Java利用策略模式优化过多if else代码

    Java利用策略模式优化过多if else代码

    这篇文章主要介绍了Java利用策略模式优化过多if else代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java解析DICOM图之如何获得16进制数据详解

    Java解析DICOM图之如何获得16进制数据详解

    DICOM就是医学数字成像和通信,是医学图像和相关信息的国际标准(ISO 12052),下面这篇文章主要给大家介绍了关于Java解析DICOM图之如何获得16进制数据的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-10-10
  • Java基于堆结构实现优先队列功能示例

    Java基于堆结构实现优先队列功能示例

    这篇文章主要介绍了Java基于堆结构实现优先队列功能,结合实例形式分析了java优先队列的简单定义与使用方法,需要的朋友可以参考下
    2017-11-11
  • Java中转换器设计模式深入讲解

    Java中转换器设计模式深入讲解

    这篇文章主要给大家介绍了关于Java中转换器设计模式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 详解Java对象的强、软、弱和虚引用+ReferenceQueue

    详解Java对象的强、软、弱和虚引用+ReferenceQueue

    这篇文章主要介绍了详解Java对象的强、软、弱和虚引用+ReferenceQueue的相关资料,需要的朋友可以参考下
    2017-06-06
  • 深入浅析JDK8新特性之Lambda表达式

    深入浅析JDK8新特性之Lambda表达式

    Lambda表达式主要是替换了原有匿名内部类的写法,也就是简化了匿名内部类的写法。这篇文章主要介绍了JDK8新特性之Lambda表达式,非常不错感兴趣的朋友参考下吧
    2016-10-10
  • JAVA参数传递方式实例浅析【按值传递与引用传递区别】

    JAVA参数传递方式实例浅析【按值传递与引用传递区别】

    这篇文章主要介绍了JAVA参数传递方式,结合实例形式分析了java按值传递与引用传递区别及相关操作注意事项,需要的朋友可以参考下
    2020-05-05

最新评论