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