Java中的封裝是個(gè)啥?
來(lái)源傳智教育2022年03月22日 16時(shí)39分55秒
封裝是面向?qū)ο蟮暮诵乃枷耄斫獠⒄莆辗庋b對(duì)于學(xué)習(xí)Java面向?qū)ο蟮膬?nèi)容十分重要。在Java面向?qū)ο蟮乃枷胫?,封裝是指一種將抽象性函式接口的實(shí)現(xiàn)細(xì)節(jié)部分包裝、隱藏起來(lái)的方法。封裝可以被理解成為一個(gè)保護(hù)屏障,防止本類的代碼和數(shù)據(jù)被外部類定義的代碼隨機(jī)訪問(wèn)。下面通過(guò)一個(gè)例子具體講解什么是封裝,如文件3-3所示。
在文件3-3中,第12行代碼將年齡賦值為-18歲,這在程序中是不會(huì)有任何問(wèn)題的,因?yàn)閕nt的值可以取負(fù)數(shù)。但是在現(xiàn)實(shí)中,-18明顯是一個(gè)不合理的年齡值。為了避免這種錯(cuò)誤的發(fā)生,在設(shè)計(jì)Student類時(shí),應(yīng)該對(duì)成員變量的訪問(wèn)做出一些限定,不允許外界隨意訪問(wèn),這就需要實(shí)現(xiàn)類的封裝。
最新問(wèn)答
- 2022年06月30日黑盒測(cè)試與白盒測(cè)試的區(qū)別是啥?
- 2022年06月30日Hive的安裝模式有幾種?
- 2022年06月29日Flume系統(tǒng)要求是什么?
- 2022年06月29日數(shù)據(jù)發(fā)布與訂閱有哪些主要應(yīng)用場(chǎng)景?
- 2022年06月29日Zookeeper集群角色有哪三種?
- 2022年06月29日hadoop1.x和hadoop2.x的區(qū)別是什么,做了哪些改進(jìn)?
- 2022年06月28日znode有哪兩種節(jié)點(diǎn)?
- 2022年06月28日非全新集群選舉的過(guò)程是什么樣的?
- 2022年06月28日applicationmaster是什么?
- 2022年06月28日yarn的工作流程是什么?
相關(guān)問(wèn)答
- 2022年03月25日Math類的常用方法有哪些?
- 2022年03月17日Java培訓(xùn)線上線下有什么區(qū)別么?
- 2022年03月17日List接口是啥??有大神知道嗎?
- 2022年03月17日想在Java中聲明和定義接口怎么實(shí)現(xiàn)?
- 2022年03月17日求教:Random怎么在Java中構(gòu)建產(chǎn)生隨機(jī)數(shù)?
- 2022年03月17日lock和synchronized到底啥區(qū)別?
- 2022年03月11日java自學(xué)成功率
- 2022年03月11日java工程師工資一般多少
- 2022年03月11日java培訓(xùn)哪家教育機(jī)構(gòu)比較好
- 2022年03月11日java難學(xué)嗎