运维开发网

Java Object toString方法原理解析

运维开发网 https://www.qedev.com 2020-12-23 03:22 出处:网络 作者: Dream0000
在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法将对象打印出来。如果重写了tostring方法则调用重写的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。

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

0

精彩评论

暂无评论...
验证码 换一张
取 消