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。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: