亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果我用Generate Getters and Setters創造出的這串代碼會有什么作用?

如果我用Generate Getters and Setters創造出的這串代碼會有什么作用?

手掌心 2021-10-28 20:19:45
還有Generate toString 創造出的代碼又是什么意思,望詳細解釋
查看完整描述

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的時候為了方便所有類的字符串操作而特意加入的一個方法

其實這些基礎知識很多博客都有解釋的。技術書里面也有哇。



查看完整回答
反對 回復 2021-10-31
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

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

查看完整回答
反對 回復 2021-10-31
  • 2 回答
  • 0 關注
  • 394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號