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
對代碼剖析:
首先聲明了一個靜態(tài)變量i,,static修飾的成員或代碼塊在類加載的時候會進行內存申請,接著進入主方法main中,在第一句輸出語句中,里面用new了此類對象,當執(zhí)行該代碼的時候,先會創(chuàng)建本類的對象,調用下面重寫的tostring方法,輸出I,返回java,再進行main方法中第一句話的打印輸出,拼接得到I love java。
這個me2 的輸出,是static的定理,類加載概念, static修飾的類,一般的一個類
只發(fā)生一次類加載。輸出m2。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. IntelliJ IDEA設置自動提示功能快捷鍵的方法2. PHP程序員簡單的開展服務治理架構操作詳解(二)3. Python3 json模塊之編碼解碼方法講解4. ASP.NET MVC使用jQuery ui的progressbar實現(xiàn)進度條5. PHP如何開啟Opcache功能提升程序處理效率6. 從Python的字符串中剝離所有非數(shù)字字符(“。”除外)7. JavaScript創(chuàng)建表格的方法8. python新手學習使用庫9. android H5本地緩存加載優(yōu)化的實戰(zhàn)10. 詳解如何使用Net將HTML簡歷導出為PDF格式

網(wǎng)公網(wǎng)安備