java中static java中什么是類的封裝性?
java中什么是類的封裝性?類的封裝意味著類的成員變量不能被外部類隨意修改。定義類的成員時(shí),使用private關(guān)鍵字指定成員的訪問權(quán)限,只能由類的其他成員方法調(diào)用,不能由其他類中的方法調(diào)用;為了實(shí)現(xiàn)封
java中什么是類的封裝性?
類的封裝意味著類的成員變量不能被外部類隨意修改。定義類的成員時(shí),使用private關(guān)鍵字指定成員的訪問權(quán)限,只能由類的其他成員方法調(diào)用,不能由其他類中的方法調(diào)用;為了實(shí)現(xiàn)封裝,通常將類的成員變量聲明為private,然后通過public方法訪問。對(duì)于變量的操作,通常有讀取和賦值操作。我們通常定義兩種方法來實(shí)現(xiàn)這兩種操作,即getxxx()和setxxx()。類是一個(gè)模塊。我們應(yīng)該讓模塊只公開必須為外界所知的內(nèi)容,而隱藏所有其他內(nèi)容。再次編程時(shí),應(yīng)盡量避免一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù)。模塊設(shè)計(jì)追求強(qiáng)內(nèi)聚、弱耦合。
為什么java需要getter/setter來獲取私有屬性?
好問題。我來回答這個(gè)問題。
。
例如,張三是一個(gè)對(duì)象,而張三的錢包是他的屬性之一。當(dāng)然,為了安全起見,張三把錢包藏起來,只有他自己才能看到。換句話說,他的錢包是私人的。張三還有一個(gè)兒子:小三子。有了小三子,張三需要給小三子提供一個(gè)領(lǐng)取生活費(fèi)的途徑,而不是直接把錢包暴露給小三子。因?yàn)椋苯咏佑|小三子,會(huì)出現(xiàn)以下問題:
1。張三控制不住小三子的拿錢,萬一他買了游戲,他的皮膚會(huì)變差的。張三有多少錢可以被小三子看到,但很多時(shí)候,張三不想被小三子看到(比如私房錢)。小三子長(zhǎng)大后,他會(huì)給張三生活費(fèi)和錢,我不知道我有多少本,就像我得了老年癡呆癥一樣。
總之,通過方法操作屬性的根本目的是保護(hù)自己的私有屬性不被外部直接訪問。