Java学习笔记——封装
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
今天我們來看看面向對象的三大特征之一——封裝
下來我們從現實生活中的例子來聊聊封裝的特性
我們日常使用的電腦主機,把CPU、內存、主板等等都封裝到機箱里面去。假如沒有機箱的話出現什么問題,主機、主板全部都散落在一處,然后開機沒有開機按鈕,那么需要我們直接操作跳線才能把電腦開啟。這樣子如果操作不慎的話,機器就有損壞的危險。因此,為了安全,現實生活中我們有機箱將CPU、內存、主板等等封裝起來。這樣就體現了封裝的安全性。
你拿著電腦去加內存,可以直接把電腦給維修的人,等他加好內存之后,你拿到的還是那個機箱,里面發生了怎樣的變化你并不知道。封裝的第二個好處——將變化隔離
在機箱上提供一個開機按鈕,而不需要你直接使用跳線開機的話,體現了封裝的便于使用的特性
將這個機箱無論拿到什么地方,都可以使用開機的功能,體現了封裝的提供重復性的特性。
我們在來通過代碼的對比來了解封裝
模擬問題
1、描述Employee類,定義姓名、工號、性別的成員變量和工作的方法
2、創建Employee對象,對象.成員的方式進行賦值,最后該對象調用工作的方法。
不使用封裝的情況
public class EmployeeDemo{public static void main(String[] args) {//創建對象Employee employee = new Employee();employee.name = "zhangsan";employee.id = "1234";employee.gender = "男"; //調用成員方法employee.work();System.out.println(); //傳入非法的參數employee.gender = "不是男人";employee.work();} } class Employee{String name;String id;String gender; public void work() {System.out.println(id + ":" + name + ":" + gender + "努力工作中!");} }執行結果
使用封裝
設置類的屬性private關鍵字,不能使用對象名.屬性名的方式直接訪問對象的屬性。
總結:如果不使用封裝,很容易賦值錯誤,并且任何人都可以更改,造成信息的不安全。
那么問題來了
- 為什么之前可以通過對象名.屬性名的方式訪問?
- 使用private修飾屬性后,無法在類外邊調用,那么如何給屬性賦值?
答案是:
public修飾符是公共的,誰都可以訪問
private修飾符是私有的,只有自己可以訪問
屬性被private修飾后,我們可以通過get,set方法對屬性進行設值和取值
請看下邊代碼:
執行結果:
封裝就分享到這了,后續會繼續分享,敬請期待!
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Java学习笔记——封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习笔记——局部变量和成员变量
- 下一篇: UML图系列——UML概要