java中,重寫tostring()方法和意義,以及解釋set和get方法


一、重寫tostring()方法和意義

      

          1、沒有重寫tostring ,每執行System.out.println() 會默認調用Object 的toString 方法,情況如下:

        

 

        2、重寫tostring,每執行System.out.println() 會調用重寫的toString 方法,情況則會根據重寫的方法打印輸出成自己想得到的格式。

 

        3、所以每次編寫實現類都重寫一下tostring() 方法!!

        4、一般out.println(Object) 和 System.out.println(Object),其中輸出的都是Object.toString()方法。

        5、自動生成:在代碼區單擊右鍵——Source——Generate toString()…

二、解釋set和get方法

         

       自定義類中set是設置的意思,而get是獲取的意思,顧名思義,這兩個方法是對數據進行設置和獲取用的。而且,在類中使用set和get方法時,都是在set和get后面跟上一些特定的詞來形成特定意思的方法名,比如setage()和getage(),表示設置年齡和獲取年齡。

        然后我們來了解一下JAVA面向對象編程中的封閉性和安全性。封閉性即對類中的域變量進行封閉操作,即用private來修飾他們,如此一來其他類則不能對該變量訪問。這樣我們就將這些變量封閉在了類內部,這樣就提高了數據的安全性。

       當我們想要操作這些域變量怎么辦呢?我們可以通過兩種方法。

        第一種即通過public方式的構造器(或稱構造函數),對象一實例化就對該變量賦值。

        自動生成:在代碼區單擊右鍵——Source——Generate Constructor using Fields:

              

 

 

       第二種就是通過上面提到的set和get方法,這里我舉一個特定的例子,我定義一個Person類,該類中有id這個私有域變量,然后我定義setId()、getId()這兩個方法,通過這兩個方法來實現對id操作。這樣一來,我不用直接對Person類中的域變量操作,而是通過set和get方法間接地操作這些變量,這樣就能提高域變量的安全性,同時又保證了域變量的封裝型。這兩個函數如果是類內部的函數,實質是起到一個溝通類外部和內部的橋梁作用, setId給外界一個能設置類私有變量的接口,getId給外界一個獲取類私有變量的接口.

       自動生成:在代碼區單擊右鍵——Source——Generate Getters and Setters…

                

 

 

       最后說說set和get方法的使用場景,一般來說set和get方法都是對私有域變量進行操作的,所以大多數都是使用在包含特定屬性的類實體中。

 


免責聲明!

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



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