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