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中正则操作的方法总结

    基于java中正则操作的方法总结

    本篇文章介绍了,在java中正则操作的方法总结。需要的朋友参考下
    2013-05-05
  • Java同学找工作最懵圈的问题:到底啥是分布式系统开发经验?(推荐)

    Java同学找工作最懵圈的问题:到底啥是分布式系统开发经验?(推荐)

    这篇文章主要介绍了分布式系统开发经验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 浅谈Redis的key和value大小限制

    浅谈Redis的key和value大小限制

    这篇文章主要介绍了浅谈Redis的key和value大小限制,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Spring事务的传播行为解析

    Spring事务的传播行为解析

    这篇文章主要介绍了Spring事务的传播行为解析,事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何运行,需要的朋友可以参考下
    2023-10-10
  • Invalid bound statement(not found):错误的解决方案

    Invalid bound statement(not found):错误的解决方案

    本文介绍了在开发Java SpringBoot应用程序时出现的"Invalidboundstatement(notfound)"错误的原因及解决方法,该错误通常与MyBatis或其他持久化框架相关,可能是由于配置错误、拼写错误或其他问题引起的,解决方法包括检查SQL映射文件
    2025-01-01
  • Java调用python的方法(jython)

    Java调用python的方法(jython)

    这篇文章主要介绍了Java调用python的方法(jython),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java+Selenium实现控制浏览器的启动选项Options

    Java+Selenium实现控制浏览器的启动选项Options

    这篇文章主要为大家详细介绍了如何使用java代码利用selenium控制浏览器的启动选项Options的代码操作,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-01-01
  • Java super关键字的使用方法详解

    Java super关键字的使用方法详解

    这篇文章主要介绍了Java super关键字的使用方法详解的相关资料,希望通过本文能帮助到大家,让大家对super关键字彻底掌握,需要的朋友可以参考下
    2017-10-10
  • androidQ sd卡权限使用详解

    androidQ sd卡权限使用详解

    这篇文章主要介绍了androidQ sd卡权限使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java中值类型和引用类型详解

    Java中值类型和引用类型详解

    大家好,本篇文章主要讲的是Java中值类型和引用类型详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01

最新评论