java初級(jí)面向?qū)ο笾v解_第1頁(yè)
java初級(jí)面向?qū)ο笾v解_第2頁(yè)
java初級(jí)面向?qū)ο笾v解_第3頁(yè)
java初級(jí)面向?qū)ο笾v解_第4頁(yè)
java初級(jí)面向?qū)ο笾v解_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

初級(jí)知識(shí)教程大綱上課不要遲到早退,特殊情況提前請(qǐng)假上課不要遲到早退,特殊情況提前請(qǐng)假 (上午9:00-12:00 下午14:00-18:00)上課將手機(jī)調(diào)成靜音或者振動(dòng)禁止看電影,玩游戲記筆記,加注釋,寫(xiě)總結(jié)不要完全依賴于書(shū)和視頻建立有效的學(xué)習(xí)方法學(xué)習(xí)軟件編程的捷徑敲,狂敲練好打字(金山打字通)學(xué)習(xí)三原則照抄代碼加注釋,留下疑問(wèn)心中處視屏講解當(dāng)故事,總結(jié)經(jīng)驗(yàn)做備注重復(fù)代碼招錯(cuò)誤,重點(diǎn)回顧故事主抄代碼,抄注釋,懂得就練不懂就留心,代碼完成后,運(yùn)行看結(jié)果,接著認(rèn)真看視屏,抄代碼過(guò)程中不懂得地方多注意視屏講解時(shí)的分析,看懂后,自己總結(jié).最好在練習(xí)一遍加深印象面向?qū)ο笏枷朊嫦驅(qū)ο蠛兔嫦蜻^(guò)程都屬于軟件開(kāi)發(fā)方法.早期軟件編程是采用面向過(guò)程進(jìn)行開(kāi)發(fā).隨著計(jì)算機(jī)的發(fā)展,產(chǎn)生了面向?qū)ο箝_(kāi)發(fā)方法面向過(guò)程:是一種以過(guò)程為中心的編程思想,就是分析出解決問(wèn)題所需要的步驟,然后函數(shù)把這些步驟一個(gè)個(gè)實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用函數(shù),從而實(shí)現(xiàn)需求.面向?qū)ο?是一種以對(duì)象為中心的編程思想,就是將需求中涉及到的現(xiàn)實(shí)世界中的事物抽象成對(duì)象,然后通過(guò)對(duì)象來(lái)實(shí)現(xiàn)需求. 注意:面向?qū)ο笫腔诿嫦蜻^(guò)程的.面向?qū)ο笏枷胍氘?dāng)有多個(gè)數(shù)組都需要遍歷時(shí),我們可以將遍歷的代碼封裝到方法中,需要遍歷時(shí),就調(diào)用相應(yīng)的方法即可,提高代碼的復(fù)用性。在對(duì)數(shù)組遍歷的基礎(chǔ)上繼續(xù)增加需求,比如獲取最值,數(shù)值逆序等,同樣需要將這些功能封裝到相應(yīng)的方法中。這樣繼續(xù)封裝會(huì)發(fā)現(xiàn)方法越來(lái)越多,于是就想能不能將這些方法繼續(xù)進(jìn)行封裝呢?我們知道類是可以存放方法的,所以,我們就考慮使用類封裝來(lái)這多個(gè)方法,將來(lái)再做數(shù)組的操作時(shí),不用去找具體的方法,先找到這個(gè)類,然后使用這個(gè)類中的方法。這就是面向?qū)ο笏枷氲木幊谭绞?。面向過(guò)程思想概述我們來(lái)回想一下,這幾天我們完成一個(gè)需求的步驟:首先是搞清楚我們要做什么,然后在分析怎么做,最后我們?cè)俅a體現(xiàn)。一步一步去實(shí)現(xiàn),而具體的每一步都需要我們?nèi)?shí)現(xiàn)和操作。這些步驟相互調(diào)用和協(xié)作,完成我們的需求。在上面的每一個(gè)具體步驟中我們都是參及者,并且需要面對(duì)具體的每一個(gè)步驟和過(guò)程,這就是面向過(guò)程最直接的體現(xiàn)則什么是面向過(guò)程開(kāi)發(fā)呢面向過(guò)程開(kāi)發(fā),其實(shí)就是面向著具體的每一個(gè)步驟和過(guò)程,把每一個(gè)步驟和過(guò)程完成,然后由這些功能方法相互調(diào)用,完成需求。面向過(guò)程的代表語(yǔ)言:C語(yǔ)言面向?qū)ο笏枷敫攀雒嫦驅(qū)ο笫腔诿嫦蜻^(guò)程的編程思想面向?qū)ο笏枷胩攸c(diǎn)是一種更符合我們思想習(xí)慣的思想可以將復(fù)雜的事情簡(jiǎn)單化將我們從執(zhí)行者變成了指揮者角色發(fā)生了轉(zhuǎn)換舉例:買電腦:面向過(guò)程:我的了解電腦了解我自己的需求找對(duì)應(yīng)的參數(shù)信息去中關(guān)村買電腦討價(jià)還價(jià)買回電腦 面向?qū)ο螅何抑牢乙I電腦班長(zhǎng)去給我買班長(zhǎng)就買回來(lái)了洗衣服: 面向過(guò)程:把衣服脫下找一個(gè)盆放點(diǎn)洗衣粉加點(diǎn)水把衣服扔進(jìn)去搓一搓清洗衣服擰干晾起來(lái) 面向?qū)ο螅喊岩路撓麓蜷_(kāi)全自動(dòng)洗衣機(jī)扔進(jìn)去一鍵即可晾起來(lái)吃飯: 面向過(guò)程:去超市買菜摘菜洗菜切菜炒菜盛起來(lái)吃 面向?qū)ο螅荷巷埖瓿燥垼惴?wù)員(點(diǎn)菜)廚師(做菜)服務(wù)員(面向?qū)ο箝_(kāi)發(fā) 就是不斷的創(chuàng)建對(duì)象,使用對(duì)象,指揮對(duì)象做事情。面向過(guò)程: 動(dòng)作有哪些呢 A:打開(kāi)冰箱門(mén) B:裝進(jìn)大象 C:關(guān)閉冰箱門(mén) 代碼體現(xiàn); { ([]){ (); (); (); } (){ ("打開(kāi)冰箱門(mén)"); } (){ ("裝進(jìn)大象"); } (){ ("關(guān)閉冰箱門(mén)"); } } 面向?qū)ο螅? 我們?cè)趺床拍芨厦嫦驅(qū)ο笏枷肽? A:有哪些類呢 B:每個(gè)類有哪些東西呢 C:類及類直接的關(guān)系是什么呢 把大象裝進(jìn)冰箱的分析(如何分析有哪些類呢。名詞提取法。) A:有哪些類呢 大象 冰箱 B:每個(gè)類有哪些東西呢 大象: 進(jìn)去 冰箱: 開(kāi)門(mén) 關(guān)門(mén) : 方法 C:類及類直接的關(guān)系是什么呢 中使用大象和冰箱類的功能。 代碼體現(xiàn): 大象{ (){ ("裝進(jìn)大象"); } } 冰箱{ (){ ("打開(kāi)冰箱門(mén)"); } (){ ("關(guān)閉冰箱門(mén)"); } } { ([]){ 冰箱調(diào)用開(kāi)門(mén) 大象調(diào)用進(jìn)去 冰箱調(diào)用關(guān)門(mén) } }面向?qū)ο笤O(shè)計(jì) 其實(shí)就是在管理和維護(hù)對(duì)象之間的關(guān)系。面向?qū)ο? 1.更加符合人類看待事物的思想. 2.面向過(guò)程解決的是當(dāng)前問(wèn)題,面向?qū)ο蠼鉀Q的是長(zhǎng)遠(yuǎn)問(wèn)題,更加方便系統(tǒng)/軟件的維護(hù)和擴(kuò)展. 面向?qū)ο?等等面向?qū)ο筇卣鞣庋b() 繼承() 多態(tài)()我們學(xué)習(xí)編程語(yǔ)言,就是為了模擬現(xiàn)實(shí)世界的事物,實(shí)現(xiàn)信息化。比如:去超市買東西的計(jì)費(fèi)系統(tǒng),去銀行辦業(yè)務(wù)的系統(tǒng)?,F(xiàn)實(shí)世界中是如何描述一個(gè)事物的呢所有語(yǔ)言都是為了服務(wù)于人類,解決人們?nèi)粘I钪械膯?wèn)題是一種面向?qū)ο蟮木幊陶Z(yǔ)言,可以將現(xiàn)實(shí)中的所有事物以對(duì)象的方式進(jìn)行模擬和分析,從而服務(wù)于人類.舉例:學(xué)生 姓名,年齡,性別... 學(xué)習(xí),吃飯,睡覺(jué)屬性 就是該事物的描述信息行為 就是該事物能夠做什么我們學(xué)習(xí)的語(yǔ)言最基本單位是類,所以,我們就應(yīng)該把事物用一個(gè)類來(lái)體現(xiàn)對(duì)象:人們要進(jìn)行研究的任何事物都可以作為對(duì)象.對(duì)象可以是具體的事物,也可以是抽象的規(guī)則、計(jì)劃或事件等。(萬(wàn)物皆對(duì)象)如何模擬現(xiàn)實(shí)對(duì)象:現(xiàn)實(shí)對(duì)象含有靜態(tài)特征(顏色,溫度,大小等)和動(dòng)態(tài)特征(吃飯,睡覺(jué),上網(wǎng)等).將靜態(tài)特征作為對(duì)象的屬性,動(dòng)態(tài)特征作為對(duì)象的功能(即方法).抽象現(xiàn)實(shí)對(duì)象到計(jì)算機(jī)中:將現(xiàn)實(shí)對(duì)象的靜態(tài)屬性作為對(duì)象的屬性將現(xiàn)實(shí)對(duì)象的動(dòng)態(tài)屬性作為對(duì)象的功能/方法對(duì)象:考拉屬性:灰色黑眼睛功能:吃飯爬樹(shù)賣萌以上將現(xiàn)實(shí)對(duì)象考拉進(jìn)行了抽象,這些抽象信息和程序有直接關(guān)系嗎程序的執(zhí)行過(guò)程:編寫(xiě)文件:文件名執(zhí)行文件:文件名我們需要將對(duì)象的抽象信息記錄到文件.文件的編寫(xiě)格式:文件中,必須以類為基本的結(jié)構(gòu).類的編寫(xiě)格式:權(quán)限類名{}1.權(quán)限具體之后再講.通常用2.類名通常為文件的文件名3.其他所有代碼都要放在類體中4.類體中主要為[成員變量]屬性和[成員]方法.屬性的編寫(xiě)格式:[屬性的編寫(xiě)實(shí)質(zhì)就是全局變量的編寫(xiě)]訪問(wèn)權(quán)限屬性類型屬性名;或訪問(wèn)權(quán)限屬性類型屬性名=值;(變量類型變量名=值;)說(shuō)明:權(quán)限通常為方法的編寫(xiě)格式:方法就是完成特定功能的代碼塊訪問(wèn)權(quán)限[等等]返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]){...方法體...}和以前的方法定義是一樣的格式,但是今天把先去掉。類及對(duì)象及其使用類對(duì)象 對(duì)象 對(duì)象模擬現(xiàn)實(shí)對(duì)象:現(xiàn)實(shí)對(duì)象的抽象信息被記錄在了文件中文件實(shí)質(zhì)相當(dāng)于一個(gè)設(shè)計(jì)圖紙.想要獲得一個(gè)真實(shí)的對(duì)象,我們需要按照設(shè)計(jì)圖紙來(lái)實(shí)現(xiàn)/創(chuàng)建相應(yīng)的產(chǎn)物.模擬對(duì)象的思路:告訴系統(tǒng),設(shè)計(jì)圖紙的位置,并讓系統(tǒng)創(chuàng)建相應(yīng)的對(duì)象.創(chuàng)建對(duì)象的格式:包名.類名();告訴系統(tǒng)去包中尋找類名圖紙,創(chuàng)建該對(duì)象說(shuō)明:中文意思:新建創(chuàng)建新生通常創(chuàng)建當(dāng)前包中的類對(duì)象時(shí),可以省掉包名的編寫(xiě),默認(rèn)為當(dāng)前包.如何使用呢 創(chuàng)建對(duì)象使用。 如何創(chuàng)建對(duì)象呢 格式:類名[類型]對(duì)象名=類名(); 如何使用成員變量呢 對(duì)象名.變量名; 如何使用成員方法呢 對(duì)象名.方法名(...);:新建新生創(chuàng)建.告訴系統(tǒng)創(chuàng)建對(duì)象[含有屬性和方法]內(nèi)存圖輔助介紹在系統(tǒng)中[虛擬機(jī)]碰到關(guān)鍵字都會(huì)去內(nèi)存中申請(qǐng)一塊內(nèi)存空間,用于存放對(duì)象的數(shù)據(jù) 2.方法的分類,參數(shù),返回值,調(diào)用方法的編寫(xiě)格式:權(quán)限[等等]返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]){ 方法體,編寫(xiě)當(dāng)前方法的主要功能:方法就是完成特定功能的代碼塊 }方法注意事項(xiàng)方法不調(diào)用不執(zhí)行方法及方法是平級(jí)關(guān)系,不能嵌套定義方法定義的時(shí)候參數(shù)之間用逗號(hào)隔開(kāi)方法調(diào)用的時(shí)候不用在傳遞數(shù)據(jù)類型如果方法有明確的返回值,一定要有帶回一個(gè)值說(shuō)明:中的方法,也稱為函數(shù).方法函數(shù) 方法的分類:方法[也稱為主函數(shù)]普通函數(shù)構(gòu)造函數(shù)方法:([]參數(shù)名){方法體;}普通方法:權(quán)限[等等]返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]){ 方法體,編寫(xiě)當(dāng)前方法的主要功能:方法就是完成特定功能的代碼塊 }返回值類型:說(shuō)明方法返回的數(shù)據(jù),是什么類型.同時(shí)使方法外部可以接受方法的執(zhí)行結(jié)果. 如果一個(gè)方法沒(méi)有/不需要返回任何數(shù)據(jù),則返回值類型編寫(xiě)為"". 如果一個(gè)方法需要返回?cái)?shù)據(jù),則返回值類型就為該數(shù)據(jù)的類型.格式:要返回?cái)?shù)據(jù);案例:返回一個(gè)時(shí)間/日期值構(gòu)造方法:構(gòu)造函數(shù):用于創(chuàng)建對(duì)象.格式:權(quán)限方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]){ 方法體 } 說(shuō)明: 1.當(dāng)一個(gè)類中沒(méi)有編寫(xiě)任何形式的構(gòu)造函數(shù)時(shí)系統(tǒng)自動(dòng)產(chǎn)生一個(gè)無(wú)參構(gòu)造. [>稱為編譯>稱為反編譯] 2.構(gòu)造函數(shù)中沒(méi)有返回值類型的編寫(xiě),也不能在方法體中使用返回?cái)?shù)據(jù). 3.構(gòu)造函數(shù)的方法名稱必須和類名稱相同.參數(shù):由方法外部向方法內(nèi)部傳遞數(shù)據(jù). 參數(shù)個(gè)數(shù)不受限制,但是在調(diào)用含有參數(shù)的方法時(shí),必須按照參數(shù)的個(gè)數(shù)和順序,及類型傳入相應(yīng)的值. 參數(shù)的分類:形參實(shí)參 形參:通常指方法聲明中參數(shù)的聲明.特點(diǎn):無(wú)法確定參數(shù)的值 實(shí)參:通常指調(diào)用方法時(shí)傳遞的數(shù)據(jù).特點(diǎn):可以確定參數(shù)的值案例:模仿7等等進(jìn)入系統(tǒng)后,輸出歡迎**進(jìn)入信息方法調(diào)用類中主要含有:屬性和方法.方法:將現(xiàn)實(shí)事物的動(dòng)態(tài)屬性抽象為對(duì)象的方法.每個(gè)方法含有不同的功能.但是在一個(gè)項(xiàng)目中,經(jīng)常需要多個(gè)功能聯(lián)合使用,可能發(fā)生方法之間的調(diào)用.方法調(diào)用方式: 1.直接調(diào)用 2.對(duì)象調(diào)用 3.類名調(diào)用直接調(diào)用:要求:被調(diào)用方法必須和當(dāng)前方法在同一個(gè)類中格式:方法名();注意修飾的方法只能調(diào)用修飾的變量和方法對(duì)象調(diào)用: 要求:必須已經(jīng)創(chuàng)建了相應(yīng)的對(duì)象,才能調(diào)用該對(duì)象的方法[屬性和方法屬于對(duì)象的] 格式:對(duì)象.方法名();類名調(diào)用: 要求:被調(diào)用方法必須被修飾 格式:類名.方法名(); 思考:一個(gè)方法被修飾后,該方法將不再屬于某個(gè)對(duì)象,而屬于公共.構(gòu)造函數(shù)的方法調(diào)用:[整體了解即可]方法:方法普通方法構(gòu)造方法 1.構(gòu)造函數(shù)用于創(chuàng)建對(duì)象,普通函數(shù)不能直接調(diào)用構(gòu)造函數(shù). 2.構(gòu)造函數(shù)可以直接調(diào)用普通函數(shù) 3.構(gòu)造函數(shù)之間不能直接相互調(diào)用,必須使用關(guān)鍵字實(shí)現(xiàn).關(guān)鍵字: 1([參數(shù)值,參數(shù)值,..])表示類名稱.類名()(); 2.屬性 表示對(duì)象的引用 表示類名稱,用于解決構(gòu)造函數(shù)相互調(diào)用. 格式:([參數(shù),參數(shù),...]) 要求: 1([參數(shù),參數(shù),...])只能編寫(xiě)在構(gòu)造函數(shù)中,不能在普通函數(shù)中編寫(xiě). 2([參數(shù),參數(shù),...])必須作為方法體的第一行有效代碼 3系統(tǒng)中不允許構(gòu)造函數(shù)之間直接/間接相互調(diào)用形成死循環(huán).通常使用作為構(gòu)造函數(shù)相互調(diào)用的出口..屬性;表示對(duì)象的引用 作用: 1.解決全局變量和局部變量名稱沖突,按照就近原則處理后,無(wú)法使用全局變量問(wèn)題 2.解決全局變量和參數(shù)名稱沖突,按照就近原則處理后,無(wú)法使用全局變量問(wèn)題3.匿名對(duì)象:[了解]就是沒(méi)有名字的對(duì)象。 匿名對(duì)象的應(yīng)用場(chǎng)景: A:調(diào)用方法,僅僅只調(diào)用一次的時(shí)候。 注意:調(diào)用多次的時(shí)候,不適合。 則,這種匿名調(diào)用有什么好處嗎 有,匿名對(duì)象調(diào)用完畢就是垃圾??梢员焕厥掌骰厥?。 B:匿名對(duì)象可以作為實(shí)際參數(shù)傳遞關(guān)鍵字:關(guān)鍵字(理解) (1)靜態(tài)的意思??梢孕揎棾蓡T變量和成員方法[用途:主要用于修飾代碼塊,全局變量,方法]修飾變量: 變量類型變量名=值; (2)靜態(tài)的特點(diǎn):[被修飾的代碼,都存放在全局?jǐn)?shù)據(jù)區(qū)] A:隨著類的加載而加載 B:優(yōu)先于對(duì)象存在 C:被類的所有對(duì)象共享 這其實(shí)也是我們判斷該不該使用靜態(tài)的依據(jù)。 舉例:飲水機(jī)和水杯的問(wèn)題思考 D:可以通過(guò)類名調(diào)用 既可以通過(guò)對(duì)象名調(diào)用,也可以通過(guò)類名調(diào)用,建議通過(guò)類名調(diào)用。 (3)靜態(tài)的內(nèi)存圖 靜態(tài)的內(nèi)容在方法區(qū)的靜態(tài)區(qū) (4)靜態(tài)的注意事項(xiàng); A:在靜態(tài)方法中沒(méi)有對(duì)象 B:靜態(tài)只能訪問(wèn)靜態(tài)(代碼測(cè)試過(guò)) (5)靜態(tài)變量和成員變量的區(qū)別 A:所屬不同 靜態(tài)變量:屬于類,類變量 成員變量:屬于對(duì)象,對(duì)象變量,實(shí)例變量 B:內(nèi)存位置不同 靜態(tài)變量:方法區(qū)的靜態(tài)區(qū) 成員變量:堆內(nèi)存 C:生命周期不同 靜態(tài)變量:靜態(tài)變量是隨著類的加載而加載,隨著類的消失而消失 成員變量:成員變量是隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象的消失而消失 D:調(diào)用不同 靜態(tài)變量:可以通過(guò)對(duì)象名調(diào)用,也可以通過(guò)類名調(diào)用 成員變量:只能通過(guò)對(duì)象名調(diào)用 (6)方法是靜態(tài)的 :權(quán)限最大 :不用創(chuàng)建對(duì)象調(diào)用 :返回值給沒(méi)有意義 :就是一個(gè)常見(jiàn)的名稱。 []:可以接收數(shù)據(jù),提供程序的靈活性封裝:私有屬性,公有方法.封裝概述是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。好處:隱藏實(shí)現(xiàn)細(xì)節(jié),提供公共的訪問(wèn)方式提高了代碼的復(fù)用性提高安全性。封裝原則:將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái)。把屬性隱藏,提供公共方法對(duì)其訪問(wèn)。將所有屬性設(shè)置為私有.使用關(guān)鍵字修飾屬性修飾的代碼,只能在當(dāng)前類中使用.根據(jù)需要,提供公共的訪問(wèn)方式:對(duì)屬性提供和方法.設(shè)置/獲得屬性的值,不是必須使用.方法名稱任意,只是傳統(tǒng)都是使用繼承1.再次編寫(xiě)這些屬性和方法.缺點(diǎn):重復(fù)編寫(xiě)相同的代碼 是否可以在當(dāng)前類中加入一個(gè)標(biāo)示,用于說(shuō)明當(dāng)前類引用其他的某些代碼.2程序中,通過(guò)繼承解決多個(gè)類代碼重復(fù). 繼承的條件:兩個(gè)類必須含有相似性[同一類事物]. 繼承的格式:權(quán)限子類名父類名{類體} 繼承的作用:子類繼承父類之后,子類可以直接使用父類的某些屬性和方法.提高了代碼的利用率修飾的代碼.都只能在當(dāng)前類中使用當(dāng)子類編寫(xiě)了及父類相同的屬性時(shí),子類的屬性將覆蓋繼承自父類的該屬性子類新增的屬性和方法,父類無(wú)法使用.繼承的特點(diǎn)[單繼承]如何使C類同時(shí)可以使用A類和B類的方法. 1.重新編寫(xiě) 2.繼承:C類繼承A類,擁有A類的方法 C類繼承B類,擁有B類的方法 C類同時(shí)繼承A類和B類,則A類和B類都為C類的父類. 程序中只支持單繼承[一個(gè)子類只能繼承一個(gè)父類],但是允許多層繼承[繼承可以相互傳遞].構(gòu)造函數(shù)的繼承1.子類繼承父類,通常父類中必須編寫(xiě)一個(gè)無(wú)參構(gòu)造函數(shù). 現(xiàn)實(shí)生活中,先有父親還先有孩子 同理:中的繼承,子類對(duì)象的產(chǎn)生也必須先產(chǎn)生相應(yīng)的父類對(duì)象. 實(shí)質(zhì),在創(chuàng)建子類對(duì)象時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用父類的無(wú)參構(gòu)造函數(shù)先創(chuàng)建父類對(duì)象,然后創(chuàng)建子類對(duì)象. 子類是否可以繼承父類的構(gòu)造函數(shù): 子類可以繼承父類的非私有屬性和方法. 假設(shè)子類繼承了父類的構(gòu)造方法,則子類完全有可能改寫(xiě)構(gòu)造方法.構(gòu)造方法是用于創(chuàng)建對(duì)象. 窮二代繼承父類,改寫(xiě)父類的構(gòu)造函數(shù)為富人>富二代重寫(xiě):編寫(xiě)子類的屬性,如果子類屬性和繼承自父類的屬性沖突,子類屬性覆蓋繼承的該屬性編寫(xiě)子類的方法,如果子類方法和繼承自父類的方法沖突,子類方法覆蓋繼承的該方法重寫(xiě)/覆蓋:子類繼承父類,并在子類中重新編寫(xiě)繼承父類的某個(gè)方法. 格式:重寫(xiě)后的方法的聲明必須和原方法相同. 特點(diǎn): 1.重寫(xiě)后的方法在子類的類體中. 2.子類對(duì)象調(diào)用被重寫(xiě)的方法時(shí),實(shí)際調(diào)用的是重寫(xiě)之后的方法.多態(tài):同種事物的多種形態(tài).貓可以是貓的類型。貓m=貓();同時(shí)貓也是動(dòng)物的一種,也可以把貓稱為動(dòng)物。動(dòng)物d=貓();在舉一個(gè)例子:水在不同時(shí)刻的狀態(tài)多態(tài)的問(wèn)題理解:孔子爹{ =40; (){ ("講解"); } } 孔子孔子爹{ =20; (){ ("講解論語(yǔ)"); } (){ ("英雄聯(lián)盟"); } } 培訓(xùn)特別火,很多人來(lái)請(qǐng)孔子爹去講課,這一天孔子爹被請(qǐng)走了 但是還有人來(lái)請(qǐng),就??鬃釉诩?,價(jià)格還挺高??鬃右幌耄沂遣皇强梢钥紤]去呢 然后就穿上爹的衣服,帶上爹的眼睛,粘上爹的胡子。就開(kāi)始裝爹 向上轉(zhuǎn)型 孔子爹k爹=孔子(); 到人家那里去了 (k爹);40 k爹();講解論語(yǔ) 爹();這是兒子才能做的 講完了,下班回家了 脫下爹的裝備,換上自己的裝備 向下轉(zhuǎn)型 孔子k=(孔子)k爹; ();20 ();講解論語(yǔ) ();英雄聯(lián)盟向上轉(zhuǎn)型:子類對(duì)象轉(zhuǎn)為父類對(duì)象.屬于自動(dòng)的. 格式:父類類型變量=子類對(duì)象;使用子類對(duì)象轉(zhuǎn)為父類對(duì)象,并調(diào)用子類對(duì)象重寫(xiě)的方法時(shí),實(shí)際調(diào)用的是重寫(xiě)之后的方法. 多態(tài)編寫(xiě): 1.子類繼承父類,并重寫(xiě)父類的某些方法. 2.創(chuàng)建子類對(duì)象,向上轉(zhuǎn)型為父類對(duì)象 3.使用轉(zhuǎn)型得到的父類對(duì)象,調(diào)用被重寫(xiě)的方法.向下轉(zhuǎn)型:向上轉(zhuǎn)型:子類對(duì)象賦值給父類類型的變量.[自動(dòng)的] 向下轉(zhuǎn)型:將父類對(duì)象賦值給子類類型的變量.[強(qiáng)制的] 格式:子類變量=(子類類名)父類對(duì)象; 向下轉(zhuǎn)型的條件: 必須確定子類和父類的繼承關(guān)系. 注意:必須先向上轉(zhuǎn)型[確定繼承關(guān)系],然后才能向下轉(zhuǎn)型重載:重寫(xiě):子類繼承父類后,重新編寫(xiě)繼承自父類的某個(gè)方法. 要求:方法聲明必須一致. 特點(diǎn):1.在子類中編寫(xiě)繼承的某個(gè)方法 重載:同一個(gè)類中,編寫(xiě)多個(gè)某個(gè)方法. 要求:同類同名不同參[參數(shù)類型參數(shù)個(gè)數(shù)參數(shù)順序],其他不限制.關(guān)鍵字[了解]:子類繼承父類的屬性和方法,并重寫(xiě)編寫(xiě)繼承的屬性和方法,將按照覆蓋處理. 如何在子類中調(diào)用繼承的父類屬性和方法 使用關(guān)鍵字解決.[同理及] 關(guān)鍵字: 1.屬性/方法();表示父類對(duì)象的引用 2([參數(shù)值,參數(shù)值,..])表示父類類名父類類名()父類構(gòu)造函數(shù) 注意:只能用于非靜態(tài)方法中訪問(wèn)修飾符:主要用于修飾屬性/方法,控制屬性/方法的被訪問(wèn)的范圍. 中含有四種訪問(wèn)修飾符[權(quán)限]:[公共的][受保護(hù)的]默認(rèn)[省略權(quán)限的編寫(xiě)][私有的] 區(qū)別:有效范圍不同. >>默認(rèn)>私有 區(qū)別標(biāo)準(zhǔn):同包子類 :修飾的屬性和方法,可以在同包/異包的子類或非子類中訪問(wèn). :修飾的屬性和方法,可以在當(dāng)前包中的所有類和異包子類中訪問(wèn). 默認(rèn):默認(rèn)權(quán)限修飾的屬性和方法,只能在當(dāng)前包中的所有類中訪問(wèn). :修飾的屬性和方法,只能在當(dāng)前類中訪問(wèn). 封裝:隱藏屬性,根據(jù)需要提供公共的訪問(wèn)方式. 有些功能,部分人可以使用,部分人不可以使用. 銀行卡:本人可以查看余額卡信息銀行工作人員中在異包子類中訪問(wèn)屬性和方法時(shí),只能在非靜態(tài)方法中直接使用,注意不能拿對(duì)象調(diào)用單例模式:某個(gè)類的對(duì)象只創(chuàng)建一次. 單利模式的編寫(xiě)步驟: 1.私有化對(duì)象的構(gòu)造函數(shù)[修飾的屬性和方法只能在當(dāng)前類中訪問(wèn)] 2.提供獲得類對(duì)象的方式:只創(chuàng)建一次類對(duì)象.抽象類回想前面我們的貓狗案例,提取出了一個(gè)動(dòng)物類。并且我們?cè)谇懊嬉矂?chuàng)建過(guò)了動(dòng)物對(duì)象,其實(shí)這是不對(duì)的。為什么呢因?yàn)?,我說(shuō)動(dòng)物,你知道我說(shuō)的是什么動(dòng)物嗎只有看到了具體的動(dòng)物,你才知道,這是什么動(dòng)物。所以說(shuō),動(dòng)物本身并不是一個(gè)具體的事物,而是一個(gè)抽象的事物。只有真正的貓,狗才是具體的動(dòng)物。同理,我們也可以推想,不同的動(dòng)物吃的東西應(yīng)該是不一樣的,所以,我們不應(yīng)該在動(dòng)物類中給出具體體現(xiàn),而是應(yīng)該給出一個(gè)聲明即可。在中,一個(gè)沒(méi)有方法體的方法應(yīng)該定義為抽象方法,而類中如果有抽象方法,該類必須定義為抽象類。方法的編寫(xiě)格式: 權(quán)限[等等]返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]){ 方法體 } 方法:一段代碼實(shí)現(xiàn)一定的功能. 有時(shí)候,方法的功能無(wú)法確定如何實(shí)現(xiàn).比如:圖形,三角形,正方形,圓形.圖形作為父類,面積方法的編寫(xiě)無(wú)法確定. 所以有時(shí)候,有些方法的方法體編寫(xiě)沒(méi)有意義,可以省略掉方法體的編寫(xiě). 中的方法,只編寫(xiě)方法的聲明,沒(méi)有方法體的編寫(xiě),這樣的方法稱為抽象方法. 抽象方法的編寫(xiě)格式: 權(quán)限返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,...]); 特點(diǎn): 1.抽象方法的權(quán)限只能為或.[方法都有一定的功能,這樣的方法才有意義.抽象方法必須被實(shí)現(xiàn)] 2.抽象方法必須使用修飾,表示當(dāng)前方法為抽象方法. 3.抽象方法不能含有方法體. 4.抽象方法只能放在抽象類中.[如果一個(gè)類中含有抽象方法,則這個(gè)類必須為抽象類] 抽象類的編寫(xiě): 類名{ } 特點(diǎn): 1.抽象類的權(quán)限只能為 2.抽象類必須被修飾. 3.抽象類中可以含有抽象方法和普通方法 問(wèn)題:含有抽象方法的類,一定是抽象類抽象類一定含有抽象方法 如果一個(gè)類中含有抽象方法,則這個(gè)類必須為抽象類 抽象類中可以含有抽象方法和普通方法抽象類對(duì)象創(chuàng)建問(wèn)題假設(shè)抽象類對(duì)象創(chuàng)建成功了,該對(duì)象是否有可能直接調(diào)用抽象方法 抽象類對(duì)象調(diào)用抽象方法,有意義嗎在系統(tǒng)中,抽象類含有構(gòu)造函數(shù),但是不能直接使用該構(gòu)造函數(shù)創(chuàng)建對(duì)象. 抽象類必須被繼承并實(shí)現(xiàn)抽象方法,然后才能操作抽象類的屬性和方法. 子類繼承抽象類: 1.子類作為一個(gè)普通類,繼承抽象類并實(shí)現(xiàn)抽象方法. 2.子類作為一個(gè)抽象類,可以不實(shí)現(xiàn)繼承自抽象類的抽象方法. 子類繼承抽象類后,子類含有抽象方法,要么實(shí)現(xiàn)該抽象方法,要么為抽象類應(yīng)用:計(jì)算圖形的面積......矩形,圓....關(guān)鍵字:中文意思:最后的最終的不可更改的 的作用: 1.修飾類方法變量[全局變量和局部變量]修飾類:權(quán)限類名{}作用:當(dāng)使用關(guān)鍵字修飾類后,該類將作為最終的類,不能被其他類繼承.防止繼承并重寫(xiě)該類中的某些方法修飾方法: 權(quán)限[等等]返回值類型方法名([參數(shù)類型參數(shù)名,參數(shù)類型參數(shù)名,..]){} 作用:修飾方法后,該方法將不能被重寫(xiě).是否被繼承取決權(quán)限.修飾變量:權(quán)限變量類型變量名=值>全局變量 變量類型變量名=值>局部變量 作用:修飾變量后,這個(gè)變量將不能被修改存放的值,稱為一個(gè)常量. 常量:可以存儲(chǔ)一個(gè)數(shù)據(jù),但是該數(shù)據(jù)一但確定,將不能更改.常量:存儲(chǔ)一個(gè)數(shù)據(jù),當(dāng)時(shí)數(shù)據(jù)不能被修改 格式:數(shù)據(jù)類型變量名=值;當(dāng)一個(gè)類中出現(xiàn)多個(gè)某個(gè)方法時(shí) 要么重寫(xiě)[覆蓋],要么重載[同類同名不同參].接口:作為一種標(biāo)準(zhǔn)/規(guī)范.抽象類:可以含有抽象方法和普通方法. 如果一個(gè)類中只含有抽象方法,則這個(gè)類更加一個(gè)標(biāo)準(zhǔn),規(guī)范. 在中制定標(biāo)準(zhǔn)/規(guī)范,使用接口完成. 接口的編寫(xiě): []接口名{..........} 特點(diǎn): 1.接口是一種標(biāo)準(zhǔn)/規(guī)范,接口中只能含有抽象方法. 2.接口中的抽象方法必須被實(shí)現(xiàn),接口的權(quán)限必須為 3.接口中只能含有抽象方法,所有接口肯定是一個(gè)抽象類,因此可以省略. 4.接口不是普通的類,是一種標(biāo)準(zhǔn)/規(guī)范,所以不使用,而用[接口,標(biāo)準(zhǔn)的意思] 接口作為一種標(biāo)準(zhǔn)/規(guī)范,必須實(shí)現(xiàn). 子類繼承抽象類/普通類. 子類實(shí)現(xiàn)接口的格式:實(shí)現(xiàn)基本等于繼承 權(quán)限子類名接口{} 說(shuō)明:實(shí)質(zhì)也是繼承了接口的抽象方法.接口作為一種標(biāo)準(zhǔn)/規(guī)范,接口中的方法必須被實(shí)現(xiàn),然后才能操作這些方法.接口中沒(méi)有構(gòu)造函數(shù).也不能直接創(chuàng)建接口對(duì)象.操作接口:核心實(shí)現(xiàn)接口中的抽象方法 1.當(dāng)前類為普通類,必須實(shí)現(xiàn)接口中的所有方法. 實(shí)現(xiàn)接口的格式:權(quán)限子類接口1,接口2,...{ } 說(shuō)明:支持單繼承和多層繼承.為了彌補(bǔ)不支持多繼承,在接口中允許多實(shí)現(xiàn)[繼承]. 2.當(dāng)前類不想實(shí)現(xiàn)接口中的方法,則當(dāng)前也必須為接口.子類接口繼承父類接口.[實(shí)現(xiàn)的意思,雖然等價(jià)于繼承但使用即實(shí)現(xiàn)方法繼承,繼承可以不實(shí)現(xiàn).] [接口只能被繼承接口,只有普通類不能繼承接口] 繼承接口的格式:子接口父接口1,父接口2,...{ }類及類繼承關(guān)系,只能單繼承,但是可以多層繼承類及接口實(shí)現(xiàn)關(guān)系,可以單實(shí)現(xiàn),也可以多實(shí)現(xiàn)。還可以在繼承一個(gè)類的同時(shí)實(shí)現(xiàn)多個(gè)接口接口及接口繼承關(guān)系,可以單繼承,也可以多繼承接口的應(yīng)用:案例內(nèi)部類(理解) (1)把類定義在另一個(gè)類的內(nèi)部,該類就被稱為內(nèi)部類。 舉例:把類B定義在類A中,類B就被稱為內(nèi)部類。 (2)內(nèi)部類的訪問(wèn)規(guī)則 A:可以直接訪問(wèn)外部類的成員,包括私有 B:外部類要想訪問(wèn)內(nèi)部類成員,必須創(chuàng)建對(duì)象 (3)內(nèi)部類的分類 A:成員內(nèi)部類成員內(nèi)部類的修飾符: 為了保證數(shù)據(jù)的安全性 為了方便訪問(wèn)數(shù)據(jù) 注意:靜態(tài)內(nèi)部類訪問(wèn)的外部類數(shù)據(jù)必須用靜態(tài)修飾。 案例:我有一個(gè)人(人有身體,身體內(nèi)有心臟。) { { (){ ("心臟搭橋"); } } (){ (如果你是外科醫(yī)生){ h=(); (); } } } 按照我們剛才的講解,來(lái)使用一下 =

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論