Java Object toString方法原理解析
2020-03-19 12:07
886 查看
在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.lang.Object中的toString()方法应用于java.lang.String[] 中,如何解决?
- Java 重写与重载区别 Java父类的Object方法 要重写tostring原因,多个catch处理逻辑
- 解析xml的几种方法,他们的原理,比较 以及JAVA源码
- Java设计模式模板方法(Template)原理解析
- Java记录 -57- Object的equals、hashcode和toString方法
- 并发编程(十二)—— Java 线程池 实现原理与源码深度解析 之submit方法 (二)
- Java方法重载和重写原理区别解析
- 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)
- java第八集 object中toString、equals方法
- 解析xml的几种方法,他们的原理,比较 以及JAVA源码
- java object 之clone方法全面解析
- Java JPasswordField用法解析——toString方法
- Java中Object toString方法简介_动力节点Java学院整理
- org.JSONObeject,org.JSONArray,net.sf.JSONObject方法的使用,用java解析json数据的方法
- Java中Object的toString()方法
- Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法
- Java JPasswordField用法解析——toString方法
- java解析xml原理方法对比示例,XML基础
- Java方法重载Overload原理及使用解析
- Java多线程start()方法原理解析