2 回答

TA貢獻2012條經驗 獲得超12個贊
先來看看set和get這兩個詞的表面意思,set是設置的意思,而get是獲取的意思,顧名思義,這兩個方法是對數據進行設置和獲取用的。而且,在類中使用set和get方法時,都是在set和get后面跟上一些特定的詞來形成特定意思的方法名,比如setage()和getage(),表示設置年齡和獲取年齡。
然后來了解一下JAVA面向對象編程中的封閉性和安全性。封閉性即對類中的域變量進行封閉操作,即用private來修飾他們,如此一來其他類則不能對該變量訪問。這樣就將這些變量封閉在了類內部,提高了數據的安全性,當想要操作這些域變量時,可以通過兩種方法,第一中即通過public方式的構造器(或稱構造函數),對象一實例化就對該變量賦值。第二種就是通過set和get方法,這里舉一個特定的例子,定義一個Person類,該類中有name、age這兩個私有域變量,然后定義setname()、getname()、setage()、getage()這四個方法,通過這四個方法來實現對name和age的操作。這樣一來,不用直接對Person類中的域變量操作,而是通過set和get方法間接地操作這些變量,這樣就能提高域變量的安全性,同時又保證了域變量的封裝型。
最后說說set和get方法的使用場景,一般來說set和get方法都是對私有域變量進行操作的,所以大多數都是使用在包含特定屬性的類實體中。
toString
public String toString()
返回該對象的字符串表示。通常, toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易于讀懂的信息表達式。建議所有子類都重寫此方法。
Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
該對象的字符串表示形式。
因為它是Object里面已經有了的方法,而所有類都是繼承Object,所以“所有對象都有這個方法”。
它通常只是為了方便輸出,比如System.out.println(xx),括號里面的“xx”如果不是String類型的話,就自動調用xx的toString()方法
總而言之,它只是sun公司開發Java的時候為了方便所有類的字符串操作而特意加入的一個方法
其實這些基礎知識很多博客都有解釋的。技術書里面也有哇。

TA貢獻1858條經驗 獲得超8個贊
可以通過setXXX給屬性賦值,調用getXXX獲取值,
a:Generate toString 重寫toString方法,返回該對象的字符串表示,
b:它的值等于:
getClass().getName() + "@" + Integer.toHexString(hashCode())
c:由于默認情況下的數據對我們來說沒有意義,一般建議重寫該方法。
添加回答
舉報