Java高阶部分知识点汇总(二)-封装与隐藏详讲
前言
在前面程序中,經常會出現通過某個對象的直接訪問其屬性的情況,這會出現很多潛在問題,例如前面我們定義過的學生類Student,我可以通過其實例對象直接訪問到實例的age屬性,并賦值,這在Java語法上是沒有任何問題的,但是,如果我把這個age設置為負數或者設置為1000,這明顯違背了現實,而前面說過對象是現實生活的描述,我們對一些現實類也需要有符合現實的數值,這就要提到面向對象的三大特性之一封裝。
一.什么是封裝?
封裝是面向對象的三大特性之一,他的意思是將對象的屬性隱藏起來在對象內部,不讓外部直接訪問對象內部信息,而是通過該類所提供的方法來實現對內部成員信息的訪問。
封裝是對現實生活的模擬,現實生活中的屬性都是被隱藏在對象內部的,外界無法直接訪問和修改。就像現實生活中的學生,每個學生對象的年齡是無法被直接修改的,只有時間流逝一年之后,年齡才會增長。再比如,你和別人接觸的時候,別人并不能直接一看到你就知道你的名字,他必須得先詢問你,才能得到你的名字。詢問名字就是你對外開放的一個用于獲取內部屬性的一個方法,別人可以通過調用這個方法,來得到你的名字這個屬性。對一個類或對象實現良好的封裝,可以實現如下目的:
隱藏類的實現細節。
讓訪問者只能通過事先設置好的方法來訪問數據,從而可以在方法里加入控制邏輯,限制訪問者對屬性的不合理訪問。
可以進行數據的檢查,保護對象數據的完整性。
為了實現良好的封裝,我們需要從以下兩個方面考
總結
以上是生活随笔為你收集整理的Java高阶部分知识点汇总(二)-封装与隐藏详讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java高阶部分知识点汇总(一)- 成员
- 下一篇: 【小朋友才做选择题】跟着团队一起学习人工