摘要:聲明本文首發(fā)于我的個人微信公眾號編程社區(qū),查看更多文章與學(xué)習(xí)資源請移步我的公眾號編程社區(qū)今天我們來看看面向?qū)ο蟮娜筇卣髦环庋b下來我們從現(xiàn)實生活中的例子來聊聊封裝的特性我們?nèi)粘J褂玫碾娔X主機,把內(nèi)存主板等等都封裝到機箱里面去。
聲明:本文首發(fā)于我的個人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū)
今天我們來看看面向?qū)ο蟮娜筇卣髦弧?strong>封裝
下來我們從現(xiàn)實生活中的例子來聊聊封裝的特性
我們?nèi)粘J褂玫碾娔X主機,把CPU、內(nèi)存、主板等等都封裝到機箱里面去。假如沒有機箱的話出現(xiàn)什么問題,主機、主板全部都散落在一處,然后開機沒有開機按鈕,那么需要我們直接操作跳線才能把電腦開啟。這樣子如果操作不慎的話,機器就有損壞的危險。因此,為了安全,現(xiàn)實生活中我們有機箱將CPU、內(nèi)存、主板等等封裝起來。這樣就體現(xiàn)了封裝的安全性。
你拿著電腦去加內(nèi)存,可以直接把電腦給維修的人,等他加好內(nèi)存之后,你拿到的還是那個機箱,里面發(fā)生了怎樣的變化你并不知道。封裝的第二個好處——將變化隔離
在機箱上提供一個開機按鈕,而不需要你直接使用跳線開機的話,體現(xiàn)了封裝的便于使用的特性
將這個機箱無論拿到什么地方,都可以使用開機的功能,體現(xiàn)了封裝的提供重復(fù)性的特性。
我們在來通過代碼的對比來了解封裝
模擬問題
1、描述Employee類,定義姓名、工號、性別的成員變量和工作的方法
2、創(chuàng)建Employee對象,對象.成員的方式進行賦值,最后該對象調(diào)用工作的方法。
不使用封裝的情況
public class EmployeeDemo{ public static void main(String[] args) { //創(chuàng)建對象 Employee employee = new Employee(); employee.name = "zhangsan"; employee.id = "1234"; employee.gender = "男"; //調(diào)用成員方法 employee.work(); System.out.println(); //傳入非法的參數(shù) employee.gender = "不是男人"; employee.work(); } } class Employee{ String name; String id; String gender; public void work() { System.out.println(id + ":" + name + ":" + gender + "努力工作中!"); } }
執(zhí)行結(jié)果
使用封裝
設(shè)置類的屬性private關(guān)鍵字,不能使用對象名.屬性名的方式直接訪問對象的屬性。
總結(jié):如果不使用封裝,很容易賦值錯誤,并且任何人都可以更改,造成信息的不安全。
那么問題來了
為什么之前可以通過對象名.屬性名的方式訪問?
使用private修飾屬性后,無法在類外邊調(diào)用,那么如何給屬性賦值?
答案是:
public修飾符是公共的,誰都可以訪問
private修飾符是私有的,只有自己可以訪問
屬性被private修飾后,我們可以通過get,set方法對屬性進行設(shè)值和取值
請看下邊代碼:
執(zhí)行結(jié)果:
封裝就分享到這了,后續(xù)會繼續(xù)分享,敬請期待!
聲明:本文首發(fā)于我的個人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76970.html
摘要:我的學(xué)習(xí)筆記匯總標(biāo)簽筆記分為兩大部分和筆記內(nèi)容主要是對一些基礎(chǔ)特性和編程細節(jié)進行總結(jié)整理,適合了解基礎(chǔ)語法,想進一步深入學(xué)習(xí)的人如果覺得不錯,請給,這也是對我的鼓勵,有什么意見歡迎留言反饋目錄基礎(chǔ)鞏固筆記反射基礎(chǔ)鞏固筆記泛型基礎(chǔ)鞏 我的java&javaweb學(xué)習(xí)筆記(匯總) 標(biāo)簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
摘要:學(xué)習(xí)致謝一數(shù)據(jù)數(shù)據(jù)網(wǎng)站二需求針對用戶查詢?nèi)罩緮?shù)據(jù)中不同字段,使用讀取日志數(shù)據(jù),封裝到數(shù)據(jù)集中,調(diào)用函數(shù)和函數(shù)進行處理不同業(yè)務(wù)統(tǒng)計分析三分詞工具測試使用比較流行好用的中文分區(qū)面向生產(chǎn)環(huán)境的自然語言處理工具包,是由一系列模 ...
摘要:構(gòu)造函數(shù)注入通過調(diào)用類的構(gòu)造函數(shù),將接口實現(xiàn)類通過構(gòu)造函數(shù)變量傳入。而在中,其使用橫切技術(shù),將這類代碼從原屬的封裝對象中提取出來,封裝到一個可重用模塊中,稱為。 最近實習(xí)用到Spring的開發(fā)框架,但是之前沒有接觸過,因此希望利用網(wǎng)上的資源來學(xué)習(xí)以下。 Spring官方給出了非常全面的介紹,非常適合我這種完全的小白……在這一系列學(xué)習(xí)中,我閱讀的主要資源是5.1.2 Reference ...
摘要:對象既是該類事物實實在在存在的個體。類與對象的關(guān)系圖類就是汽車汽車就是堆內(nèi)存中的對象。成員變量成員變量成員函數(shù)的車,輪胎數(shù)個,跑起來了對象的創(chuàng)建創(chuàng)建對象中創(chuàng)建對象,使用關(guān)鍵字在堆內(nèi)存中開辟了空間,產(chǎn)生了一個實體。 聲明:本文首發(fā)于我的個人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū) 萬物皆對象 學(xué)習(xí)Java,我們都聽過這句話:萬物皆對象。那么什...
閱讀 1151·2023-04-26 03:02
閱讀 1191·2023-04-25 19:18
閱讀 2595·2021-11-23 09:51
閱讀 2577·2021-11-11 16:55
閱讀 2631·2021-10-21 09:39
閱讀 1710·2021-10-09 09:59
閱讀 2005·2021-09-26 09:55
閱讀 3532·2021-09-26 09:55