版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java的封裝Java的訪問控制符Java的包的使用Java繼承的基本概念今天內(nèi)容為什么使用封裝下面代碼有什么問題?如何解決上面設(shè)計(jì)的缺陷?Dogd=newDog();d.health=1000;不合理的賦值
使用封裝
什么是封裝面向?qū)ο笕筇卣髦弧庋b封裝的概念封裝的好處封裝:將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問
隱藏類的實(shí)現(xiàn)細(xì)節(jié)只能通過規(guī)定方法訪問數(shù)據(jù)方便加入控制語(yǔ)句方便修改實(shí)現(xiàn)如何使用封裝修改屬性的可見性創(chuàng)建getter/setter方法在getter/setter方法中加入屬性控制語(yǔ)句設(shè)為private用于屬性的讀寫對(duì)屬性值的合法性進(jìn)行判斷223classDog{
privateStringname="旺財(cái)";//昵稱
privateinthealth=100;//健康值
privateintlove=0;//親密度
privateStringstrain="拉布拉多犬";//品種
publicintgetHealth(){returnhealth;}
publicvoidsetHealth
(inthealth){if(health>100||health<0){this.health=40;System.out.println("健康值應(yīng)該在0和100之間,默認(rèn)值是40");}else
this.health=health;}//其它getter/setter方法}-name:String-health:int-love:int-strain:StringDog+print():void+setHealth():void+getHealth():String……封裝的步驟this代表當(dāng)前對(duì)象1訪問控制符private類訪問權(quán)限default包訪問權(quán)限protected子類訪問權(quán)限控制級(jí)別由小到大public公共訪問權(quán)限
訪問修飾符本類同包子類
其他private√默認(rèn)(friendly)√√protected√√√public√√√√為什么需要包生活案例
文檔分門別類,易于查找不同內(nèi)容的文檔可以放在不同的袋子中,擁有相同的名字,避免沖突易于管理為什么需要包樹形文件系統(tǒng)使用目錄解決文件同名沖突問題如何存放兩個(gè)同名的類而不沖突?Sort.java插入排序Sort.java冒泡排序包包——解決類的同名問題允許類組成較小的單元(類似文件夾),易于找到和使用相應(yīng)的文件防止命名沖突更好的保護(hù)類、屬性和方法A.java包如何創(chuàng)建包packagecn.jbit.classandobject;//聲明包publicclassAccpSchool{//……publicStringtoString(){//……}}包名使用package聲明包,以分號(hào)結(jié)尾如果有包的聲明,一定作為Java源代碼的第一條語(yǔ)句包的命名規(guī)范包名由小寫字母組成,不能以圓點(diǎn)開頭或結(jié)尾包名之前最好加上唯一的前綴,通常使用組織倒置的網(wǎng)絡(luò)域名。如:域名
包名后續(xù)部分依不同機(jī)構(gòu)內(nèi)部的規(guī)范不同而不同packagemypackage;package
net.javagroup.mypackage;package
net.javagroup.research.powerproject;部門名項(xiàng)目名
package.mypackage;×如何導(dǎo)入包為了使用不在同一包中的類,需要在Java程序中使用import關(guān)鍵字導(dǎo)入這個(gè)類importjava.util.*;//導(dǎo)入java.util包中所有類importcn.jbit.classandobject.AccpSchool;//導(dǎo)入指定包中指定類關(guān)鍵字import并不陌生import包名.類名;1、系統(tǒng)包:java.util2、自定義包:cn.jbit.classandobject*:指包中的所有類AccpSchool
:指包中的AccpSchool類生活中的繼承生活中,繼承的例子隨處可見動(dòng)物食草動(dòng)物食肉動(dòng)物誰(shuí)是父類?誰(shuí)是子類?能說出繼承的特點(diǎn)嗎?繼承需要符合的關(guān)系:is-a,父類更通用、子類更具體生活中的繼承子類具有父類的一般特性(包括屬性和行為),以及自身特殊的特性巴士是汽車嗎?卡車是汽車嗎?出租車是汽車嗎?最大載客數(shù)量報(bào)站引擎數(shù)量外觀顏色剎車加速汽車最大載重量卸貨所屬公司最大載客數(shù)量打發(fā)票屬性行為請(qǐng)問:出租車包含哪些屬性和行為呢?為什么需要繼承開發(fā)講師類,其中講師分為Java講師以及Android講師,各自的要求如下:Java教員屬性:姓名、所屬中心方法:授課(包括啟動(dòng)Java開發(fā)環(huán)境、講解知識(shí)點(diǎn)等)、自我介紹Android教員屬性:姓名、所屬中心方法:授課(包括啟動(dòng)Android開發(fā)環(huán)境、講解知識(shí)點(diǎn)等)、自我介紹為什么需要繼承請(qǐng)問:以下這個(gè)解決方案中存在著什么問題?publicclassAnjoyoAndroidTeacher{privateStringname;//講師姓名privateStringschool;//所在中心publicAnjoyoAndroidTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){System.out.println("啟動(dòng)Android開發(fā)環(huán)境");System.out.println("知識(shí)點(diǎn)講解");System.out.println("總結(jié)提問");}publicvoidintroduction(){ System.out.println("大家好!我是" +school+"的"+name+".");}}publicclassAnjoyoJavaTeacher{privateStringname;//講師姓名privateStringschool;//所在中心publicAnjoyoJavaTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){System.out.println("啟動(dòng)Java開發(fā)環(huán)境");System.out.println("知識(shí)點(diǎn)講解");System.out.println("總結(jié)提問");}publicvoidintroduction(){ System.out.println("大家好!我是" +school+"的"+name+".");}}代碼存在重復(fù),違背了“writeonce,onlyonce”的原則
為什么需要繼承如何改進(jìn)?有沒有可能建立繼承關(guān)系,讓子類自動(dòng)繼承父類的屬性和方法?Java講師是講師嗎?Android講師是嗎?publicclassTeacher{privateStringname;//講師姓名privateStringschool;//所在中心publicAnjoyoTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLesson(){System.out.println("知
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026南海農(nóng)商銀行科技金融專業(yè)人才社會(huì)招聘?jìng)淇伎荚囋囶}附答案解析
- 副食品生產(chǎn)加工管理制度
- 種子生產(chǎn)經(jīng)營(yíng)檔案制度
- 水務(wù)局安全生產(chǎn)會(huì)議制度
- 豬場(chǎng)生產(chǎn)管理規(guī)章制度
- 生產(chǎn)企業(yè)崗位管理制度
- 2026湖北天門職業(yè)學(xué)院人才引進(jìn)(第一批)130人參考考試試題附答案解析
- 公租房安全生產(chǎn)管理制度
- 項(xiàng)目部生產(chǎn)部制度
- 2026貴州六盤水市六枝特區(qū)大用鎮(zhèn)人民政府招聘城鎮(zhèn)公益性崗位3人備考考試試題附答案解析
- 達(dá)人精準(zhǔn)運(yùn)營(yíng)方案
- 四川省涼山州2025-2026學(xué)年上學(xué)期期末考試七年級(jí)數(shù)學(xué)試題(含答案)
- 管網(wǎng)安全生產(chǎn)管理制度
- DB2310-T 099-2022 牡丹江市中藥材火麻仁種植技術(shù)規(guī)程
- 婦產(chǎn)??漆t(yī)院危重孕產(chǎn)婦救治中心建設(shè)與管理指南
- 2026年建筑物智能化與電氣節(jié)能技術(shù)發(fā)展
- 垃圾填埋場(chǎng)排水施工方案
- 民航華東地區(qū)管理局機(jī)關(guān)服務(wù)中心2025年公開招聘工作人員考試題庫(kù)必考題
- 員工個(gè)人成長(zhǎng)經(jīng)歷分享
- 自平衡多級(jí)泵培訓(xùn)課件
- 晝夜明暗圖課件
評(píng)論
0/150
提交評(píng)論