摘要:理性的說(shuō)明下,隱藏?cái)?shù)據(jù)既使用公有和私有這兩個(gè)存取修飾符,將實(shí)例變量標(biāo)記為。本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào)歡迎留言討論與點(diǎn)贊上一篇推薦貓說(shuō)關(guān)于方法及傳參的一些問(wèn)題下一篇推薦
閱讀本文約“1.2分鐘”
“老王忘記把他的貓封裝起來(lái),后來(lái)他的貓被壓平了......”
這是一個(gè)程序界的鬼故事,你忘記對(duì)你的數(shù)據(jù)進(jìn)行封裝,那么有一天也會(huì)被人處理掉了。
創(chuàng)建Getter和Setter給所有的實(shí)例變量,并尋求某種方法強(qiáng)制其他程序都必須通過(guò)Setter來(lái)設(shè)定變量而不是直接的存取。
也就是封裝,其會(huì)對(duì)我們的實(shí)例變量加上絕對(duì)領(lǐng)域,因此沒(méi)有人能夠惡搞我們的變量。
且大部分的實(shí)例變量值都有一個(gè)適當(dāng)?shù)姆秶热缟砀呔筒荒苁秦?fù)數(shù),佛敲墻也不能3分鐘就做完。
強(qiáng)波其他程序一定要經(jīng)過(guò)Setter,如此Setter就能夠檢查參數(shù)并判斷是否可以執(zhí)行。setter可以退回不合理的值,或是拋出Exception、或者自己進(jìn)行小數(shù)點(diǎn)的動(dòng)作,重點(diǎn)是你可以在setter中執(zhí)行任何動(dòng)作,但是如果直接暴露實(shí)體變量就沒(méi)有辦法了。
當(dāng)然你會(huì)說(shuō)大部分的setter其中也是沒(méi)有什么邏輯代碼的,其實(shí)與getter一樣,其好處是你事后可以改變想法卻不會(huì)需要改變其他部分的程序。
封裝的優(yōu)點(diǎn)就是能夠讓你三心二意卻又不會(huì)傷害別人,直接存儲(chǔ)變量的效率是比不上這個(gè)好處的。
理性的說(shuō)明下,隱藏?cái)?shù)據(jù)既使用公有和私有這兩個(gè)存取修飾符,將實(shí)例變量標(biāo)記為private。將getter和setter標(biāo)記為public。
當(dāng)然獲取你某天有了足夠的java設(shè)計(jì)與編寫(xiě)經(jīng)驗(yàn)后,你會(huì)有新的做法,但是現(xiàn)在還是繼續(xù)使用這種維持安全的方式把。
本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào):UncleCatMySelf
歡迎留言討論與點(diǎn)贊
上一篇推薦:【Java貓說(shuō)】關(guān)于Java方法及傳參的一些問(wèn)題
下一篇推薦:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71664.html
摘要:我可不可以忽略返回值并未要求一定要處理返回值。你可以調(diào)用返回非類(lèi)型的方法而不必理會(huì)返回值,這代表你要的是方法的行為而不是返回值,你可以不指派返回值。 閱讀本文約1.2分鐘 1、如果想要傳入的參數(shù)是對(duì)象而不是primitive主數(shù)據(jù)類(lèi)型會(huì)怎樣? 在Java中所傳遞的所有東西都是值,但此值是變量所攜帶的值。還有,引用對(duì)象的變量所攜帶的是遠(yuǎn)程控制而不是對(duì)象本身,若你對(duì)方法傳入?yún)?shù),實(shí)際上傳...
摘要:所以,我實(shí)現(xiàn)了一個(gè)稱(chēng)為的類(lèi)來(lái)應(yīng)用反射?,F(xiàn)在流行的語(yǔ)言大都支持反射。這組內(nèi)省主要是針對(duì)類(lèi)進(jìn)行操作的,能夠獲取類(lèi)的屬性信息??梢钥吹?,通過(guò)的內(nèi)省機(jī)制,解決了的最關(guān)鍵的問(wèn)題。在封裝反射的時(shí)候,會(huì)充分考慮到各種情況。 BeanMap 學(xué)習(xí)具體的技術(shù)工具的好辦法就是些Demo、造輪子。所以,我實(shí)現(xiàn)了一個(gè)稱(chēng)為BeanMap的類(lèi)來(lái)應(yīng)用java反射API。 這個(gè)BeanMap的功能是將一個(gè)Bean包裝...
摘要:本文繼續(xù)講封裝。上一篇樂(lè)字節(jié)垃圾回收機(jī)制和語(yǔ)句這次講述繼承與權(quán)限修飾。通過(guò)繼承,子類(lèi)自動(dòng)擁有了基類(lèi)的所有成員成員變量和成員方法。一覽無(wú)遺子承父業(yè)兒子自己使用家庭和睦占為已有。 本文繼續(xù)講Java封裝。上一篇:樂(lè)字節(jié)Java|GC垃圾回收機(jī)制、package和import語(yǔ)句 這次講述JavaBean、繼承與權(quán)限修飾。showImg(https://segmentfault.com/im...
摘要:沒(méi)有操作符重載。最終類(lèi)型在所有情況下應(yīng)該是默認(rèn)的,并用作為修飾符。這樣就會(huì)減少現(xiàn)在你會(huì)在和一些第三方的中見(jiàn)到的那些令人困惑的歷史遺留方法。在用過(guò)或是最新的之后你會(huì)覺(jué)得非常的繁瑣。這是最常見(jiàn)的關(guān)于的吐槽,但它這就是事實(shí)。 啊哈Reddit,沒(méi)了你我們還能在哪里從魚(yú)目混珠的網(wǎng)絡(luò)中提煉真正的精華?就在這雜亂無(wú)章的論壇中,的的確確存在著這樣一些精辟的討論。 比如有個(gè)叫Shambloroni的...
閱讀 2049·2021-10-25 09:48
閱讀 2924·2021-09-22 14:59
閱讀 1856·2019-08-29 16:52
閱讀 961·2019-08-29 16:07
閱讀 2412·2019-08-29 12:38
閱讀 1947·2019-08-26 13:23
閱讀 956·2019-08-26 11:49
閱讀 3377·2019-08-26 10:56