freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java的個(gè)人總結(jié)-資料下載頁(yè)

2024-09-16 04:48本頁(yè)面
  

【正文】 。 } } 繼 承 (面向?qū)ο筇卣髦?) 好處: 1:提高了代碼的復(fù)用性。 2:讓類與類之間產(chǎn)生了關(guān)系,提供了另一個(gè)特征多態(tài)的前提。 父類的由來(lái):其實(shí)是由多個(gè)類不斷向上抽取共性內(nèi)容而來(lái)的。 java中對(duì)于繼承, java 只支持單繼承。 java雖然不直接支持多繼承,但是保留了這種多繼承機(jī)制,進(jìn)行改良。 單繼承:一個(gè)類只能有一個(gè)父類。 多繼承:一個(gè)類可以有多個(gè)父類。 為什么不支持多繼承呢 ? 因?yàn)楫?dāng)一個(gè)類同時(shí)繼承兩個(gè)父類時(shí),兩個(gè)父類中有相同的功能,那么子類對(duì)象調(diào)用該功能時(shí),運(yùn)行哪一個(gè)呢 ?因?yàn)楦割愔械姆椒ㄖ写嬖诜椒w。 但是 java支持多重繼承。 A繼承 B B繼承 C C繼承 D。 多重繼承的出現(xiàn),就有了繼承體系。體系中的頂層父類是通過(guò)不斷向上抽取而來(lái)的。它里面定義的該體系最基本最共性內(nèi)容的功能。 所以,一個(gè)體系要想被使用,直接查閱該系統(tǒng)中的父類的功能即可知道該體系的基本用法。那么想要使用一個(gè)體系時(shí),需要建立對(duì)象。建議建立最子類對(duì)象,因?yàn)樽钭宇惒粌H可以使用父類中的功能。還可以使用子類特有 的一些功能。 簡(jiǎn)單說(shuō):對(duì)于一個(gè)繼承體系的使用,查閱頂層父類中的內(nèi)容,創(chuàng)建最底層子類的對(duì)象。 子父類出現(xiàn)后,類中的成員都有了哪些特點(diǎn): 1:成員變量。 當(dāng)子父類中出現(xiàn)一樣的屬性時(shí),子類類型的對(duì)象,調(diào)用該屬性,值是子類的屬性值。 如果想要調(diào)用父類中的屬性值,需要使用一個(gè)關(guān)鍵字: super This:代表是本類類型的對(duì)象引用。 Super:代表是子類所屬的父類中的內(nèi)存空間引用。 注意:子父類中通常是不會(huì)出現(xiàn)同名成員變量的,因?yàn)楦割愔兄灰x了,子類就不用在定義了,直接繼承過(guò)來(lái)用就可 以了。 2:成員函數(shù)。 當(dāng)子父類中出現(xiàn)了一模一樣的方法時(shí),建立子類對(duì)象會(huì)運(yùn)行子類中的方法。好像父類中的方法被覆蓋掉一樣。所以這種情況,是函數(shù)的另一個(gè)特性:覆蓋 (復(fù)寫,重寫 ) 什么時(shí)候使用覆蓋呢 ?當(dāng)一個(gè)類的功能內(nèi)容需要修改時(shí),可以通過(guò)覆蓋來(lái)實(shí)現(xiàn)。 3:構(gòu)造函數(shù)。 發(fā)現(xiàn)子類構(gòu)造函數(shù)運(yùn)行時(shí),先運(yùn)行了父類的構(gòu)造函數(shù)。為什么呢 ? 原因:子類的所有構(gòu)造函數(shù)中的第一行,其實(shí)都有一條隱身的語(yǔ)句 super()。 super(): 表示父類的構(gòu)造函數(shù),并會(huì)調(diào)用于參數(shù)相對(duì)應(yīng)的父類中的構(gòu)造函數(shù)。而 super():是在調(diào)用父類中空參數(shù)的構(gòu)造函數(shù)。 為什么子類對(duì)象初始化時(shí),都需要調(diào)用父類中的函數(shù) ?(為什么要在子類構(gòu)造函數(shù)的第一行加入這個(gè) super()?) 因?yàn)樽宇惱^承父類,會(huì)繼承到父類中的數(shù)據(jù),所以必須要看父類是如何對(duì)自己的數(shù)據(jù)進(jìn)行初始化的。所以子類在進(jìn)行對(duì)象初始化時(shí),先調(diào)用父類的構(gòu)造函數(shù),這就是子類的實(shí)例化過(guò)程。 注意:子類中所有的構(gòu)造函數(shù)都會(huì)默認(rèn)訪問父類中的空參數(shù)的構(gòu)造函數(shù),因?yàn)槊恳粋€(gè)子類構(gòu)造內(nèi)第一行都有默認(rèn)的語(yǔ)句 super()。 如果父類中沒有空參數(shù)的構(gòu)造函數(shù),那么子類的構(gòu)造函數(shù)內(nèi),必須通過(guò) super語(yǔ)句指定要訪問的父類中的構(gòu)造函數(shù)。 如果子類構(gòu)造函數(shù)中用 this來(lái)指定調(diào)用子類自己的構(gòu)造函數(shù),那么被調(diào)用的構(gòu)造函數(shù)也一樣會(huì)訪問父類中的構(gòu)造函數(shù)。 問題: super()和 this()是否可以同時(shí)出現(xiàn)的構(gòu)造函數(shù)中。 兩個(gè)語(yǔ)句只能有一個(gè)定義在第一行,所以只能出現(xiàn)其中一個(gè)。 super()或者 this():為什么一定要定義在第一行 ? 因?yàn)?super()或者 this()都是調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)用于初始化,所以初始化的動(dòng)作要先完成。 繼承的細(xì)節(jié): 什么時(shí)候使用繼承呢 ? 當(dāng)類與類之間存在著所屬關(guān)系時(shí),才具備了繼承的前提。 a是 b中的一種。 a繼承 b。狼是犬科中的一種。 英文書中,所屬關(guān)系: is a 注意:不要僅僅為了獲取其他類中的已有成員進(jìn)行繼承。 所以判斷所屬關(guān)系,可以簡(jiǎn)單看,如果繼承后,被繼承的類中的功能,都可以被該子類所具備,那么繼承成立。如果不是,不可以繼承。 細(xì)節(jié)二: 在方法覆蓋時(shí),注意兩點(diǎn) : 1:子類覆蓋父類時(shí),必須要保證,子類方法的權(quán)限必須大于等于父類方法權(quán)限可以實(shí)現(xiàn)繼承。否則,編譯失敗。 2:覆蓋時(shí),要么都靜態(tài),要么都不靜態(tài)。 (靜態(tài)只能覆蓋靜態(tài),或者被靜態(tài)覆蓋 ) 繼承的一個(gè)弊端:打破了封裝性。對(duì)于一些類,或者類中功能,是需要被繼承,或者復(fù)寫的。 這時(shí)如何解決問題呢 ?介紹一個(gè)關(guān)鍵字, final:最終。 final特點(diǎn): 1:這個(gè)關(guān)鍵字是一個(gè)修飾符,可以修飾類,方法,變量。 2:被 final修飾的類是一個(gè)最終類,不可以被繼承。 3:被 final修飾的方法是一 個(gè)最終方法,不可以被覆蓋。 4:被 final修飾的變量是一個(gè)常量,只能賦值一次。 其實(shí)這樣的原因的就是給一些固定的數(shù)據(jù)起個(gè)閱讀性較強(qiáng)的名稱。 不加 final修飾不是也可以使用嗎 ?那么這個(gè)值是一個(gè)變量,是可以更改的。加了 final,程序更為嚴(yán)謹(jǐn)。常量名稱定義時(shí),有規(guī)范,所有字母都大寫,如果由多個(gè)單詞組成,中間用 _ 連接。 抽象類 :abstract 抽象:不具體,看不明白。抽象類表象體現(xiàn)。 在不斷抽取過(guò)程中,將共性內(nèi)容中的方法聲明抽取,但是方法不一樣,沒有抽取,這時(shí)抽取到的方法,并不具體,需要被指定關(guān)鍵字 abstract所標(biāo)示,聲明為抽象方法。 抽象方法所在類一定要標(biāo)示為抽象類,也就是說(shuō)該類需要被 abstract關(guān)鍵字所修飾。 抽象類的特點(diǎn): 1:抽象方法只能定義在抽象類中,抽象類和抽象方法必須由 abstract關(guān)鍵字修飾 (可以描述類和方法,不可以描述變量 )。 2:抽象方法只定義方法聲明,并不定義方法實(shí)現(xiàn)。 3:抽象類不可以被創(chuàng)建對(duì)象 (實(shí)例化 )。 4:只有通過(guò)子類繼 承抽象類并覆蓋了抽象類中的所有抽象方法后,該子類才可以實(shí)例化。否則,該子類還是一個(gè)抽象類。 抽象類的細(xì)節(jié): 1:抽象類中是否有構(gòu)造函數(shù) ?有,用于給子類對(duì)象進(jìn)行初始化。 2:抽象類中是否可以定義非抽象方法 ? 可以。其實(shí),抽象類和一般類沒有太大的區(qū)別,都是在描述事物,只不過(guò)抽象類在描述事物時(shí),有些功能不具體。所以抽象類和一般類在定義上,都是需要定義屬性和行為的。只不過(guò),比一般類多了一個(gè)抽象函數(shù)。而且比一般類少了一個(gè)創(chuàng)建對(duì)象的部分。 3:抽象關(guān)鍵字 abstract 和哪些不可以共存 ?final , private , static 4:抽象類中可不可以不定義抽象方法 ?可以。抽象方法目的僅僅為了不讓該類創(chuàng)建對(duì)象。 模板方法設(shè)計(jì)模式: 解決的問題:當(dāng)功能內(nèi)部一部分實(shí)現(xiàn)時(shí)確定,一部分實(shí)現(xiàn)是不確定的。這時(shí)可以把不確定的部分暴露出去,讓子類去實(shí)現(xiàn)。 abstract class GetTime{ public final void getTime(){ //此功能如果不需要復(fù)寫,可加 final限定 long start = ()。 code()。 //不確定的功能部分,提取出來(lái),通過(guò)抽象方法實(shí)現(xiàn) long end = ()。 (毫秒是: +(endstart))。 } public abstract void code()。 //抽象不確定的功能,讓子類復(fù)寫實(shí)現(xiàn) } class SubDemo extends GetTime{ public void code(){ //子類復(fù)寫功能方法 for(int y=0。 y1000。 y++){ (y)。 } } } java
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1