為什么要初始化變量呢


因為java規定,變量沒有初始化不能使用,全局變量也就是類的屬性,java會在編譯的時候,自動將他們初始化,所以可以不什么變量初始化的操作。但是(局部)變量必須初始化

這個在工作中也得到了很好的驗證:

如果是在類的成員變量中,BookInfo bookinfo;和BookInfo bookinfo=null;是一樣的效果;因為該類在初始化時成員變量也會做初始化,默認就是null;而方法內的變量則不會初始化;

而如果是局部變量,則必須初始化,也就是=null或者new,因為為了保證java的安全性;

 

額外補充:

今天在寫代碼時,遇到一個問題,特此進行記錄。
 for (ProfileDto profileDto : profile)
            {

             // Profile resProfile=null;
                Profile resProfile=new Profile();

              // 將profileDto對象的屬性值復制給resProfile對象
                Tools.copyPropertiesIgnoreNull(profileDto, resProfile);
                proList.add(resProfile);
            }

今天在寫這段代碼時,起初是Profile resProfile=null;然后debug走到復制屬性方法的時候,就直接跳出了,

然后改為new的方式就ok了。

所以就很好奇,對此特地進行研究和總結。

        對象 = null 指向到一個空地址,只是聲明了一個對象的引用,並沒有在jvm中開辟內存,已進行存儲。

而u2 指向的一個具體的對象,對象需要空間存放的。在對象引用的時候,會將對象的內存地址傳給引用的對象,以進行存儲。。。

       另外,如果你創建的對象,需要自己去讀取操作數據,就需要通過new的方式,可以進行初始化,如果是接收其他地方的

傳值,可以不通過new的方式,創建對象。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM