Java Object toString方法原理解析
阿新 • • 發佈:2020-03-18
在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。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。