,<是同一類東西。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)?! ∨e個(gè)">
java初學(xué)者常見問題

java初學(xué)者常見問題

ID:14101324

大小:112.00 KB

頁數(shù):11頁

時(shí)間:2018-07-26

java初學(xué)者常見問題_第1頁
java初學(xué)者常見問題_第2頁
java初學(xué)者常見問題_第3頁
java初學(xué)者常見問題_第4頁
java初學(xué)者常見問題_第5頁
資源描述:

《java初學(xué)者常見問題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、instanceof  instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東西。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)。  舉個(gè)例子:  Strings="IAManObject!";  booleanisObject=sinstanceofObject;  我們聲明了一個(gè)String對(duì)象引用,指向一個(gè)String對(duì)象,然后用instanceof來測(cè)試它所指向的對(duì)象是否是Object類的一

2、個(gè)實(shí)例,顯然,這是真的,所以返回true,也就是isObject的值為true。  instanceof有一些用處。比如我們寫了一個(gè)處理賬單的系統(tǒng),其中有這樣三個(gè)類:  publicclassBill{//省略細(xì)節(jié)}  publicclassPhoneBillextendsBill{//省略細(xì)節(jié)}  publicclassGasBillextendsBill{//省略細(xì)節(jié)}  在處理程序里有一個(gè)方法,接受一個(gè)Bill類型的對(duì)象,計(jì)算金額。假設(shè)兩種賬單計(jì)算方法不同,而傳入的Bill對(duì)象可能是兩種中的任

3、何一種,所以要用instanceof來判斷:  publicdoublecalculate(Billbill){  if(billinstanceofPhoneBill){  //計(jì)算電話賬單  }  if(billinstanceofGasBill){  //計(jì)算燃?xì)赓~單  }  ...  }  這樣就可以用一個(gè)方法處理兩種子類。  然而,這種做法通常被認(rèn)為是沒有好好利用面向?qū)ο笾械亩鄳B(tài)性。其實(shí)上面的功能要求用方法重載完全可以實(shí)現(xiàn),這是面向?qū)ο缶幊虘?yīng)有的做法,避免回到結(jié)構(gòu)化編程模式。只要提供兩個(gè)名

4、字和返回值都相同,接受參數(shù)類型不同的方法就可以了:  publicdoublecalculate(PhoneBillbill){  //計(jì)算電話賬單  }  publicdoublecalculate(GasBillbill){  //計(jì)算燃?xì)赓~單  }  所以,使用instanceof在絕大多數(shù)情況下并不是推薦的做法,應(yīng)當(dāng)好好利用多態(tài)。  instanceof一般情況下用在對(duì)象類型的強(qiáng)制轉(zhuǎn)換,  例如:  繼承關(guān)系classManagerextendsEmployee  -------------

5、---------------------------------------------  publicvoiddoSomething(Employeee){  if(einstanceofManger){  Managerm=(Manager)e;  }  }  網(wǎng)絡(luò)釋義  1.運(yùn)算符返回一個(gè)Boolean值,表明某個(gè)對(duì)象是否為特定類的一個(gè)實(shí)例。...instanceof運(yùn)算符...返回一個(gè)Boolean值,表明某個(gè)給定的數(shù)是否是有窮的。  2.和回調(diào)概念?instanceof和回調(diào)概念...i

6、nstanceof和回調(diào)概念...  3.動(dòng)態(tài)的  4.操作符?java的方法重寫和覆蓋什么是方法的重載:java中,可以在同一個(gè)類中用相同的名稱定義兩個(gè)或者多個(gè)方法,但是參數(shù)項(xiàng)不同(分為參數(shù)類型不同和參數(shù)數(shù)量不同)。當(dāng)兩個(gè)方法名稱相同而參數(shù)項(xiàng)不同時(shí),那么就認(rèn)為此方法被重載,而此過程就被稱為"方法重載"。-11-調(diào)用重載方法時(shí),java使用參數(shù)的類型和數(shù)量決定實(shí)際調(diào)用重載方法的哪個(gè)版本。重載方法可以具有不同的返回類型,但返回類型本身不足以區(qū)分方法的兩個(gè)版本。因此重載方法的參數(shù)類型或者數(shù)量必須不同.方

7、法重載支持多態(tài)性,因?yàn)樗莏ava實(shí)現(xiàn)"一個(gè)接口,多重方法"模式的一種方式。此外,構(gòu)造方法也可以被重載。什么是方法重寫:在類體系結(jié)構(gòu)中,當(dāng)子類中的方法與其父類中的方法具有相同的方法時(shí),則認(rèn)為子類中的方法重寫了父類中的方法。從子類中調(diào)用重寫方法時(shí),將總是調(diào)用出現(xiàn)在子類中的方法,而父類中的方法將會(huì)被隱藏。如果程序員需要訪問重寫方法的父類中的該方法,可以使用關(guān)鍵字super來完成。java中覆蓋、重寫與重載的區(qū)別收藏override為覆蓋又叫重寫,從字面就可以知道,它是覆蓋了一個(gè)方法并且對(duì)其重寫,以求達(dá)到

8、不同的作用。對(duì)我們來說最熟悉的覆蓋就是對(duì)接口方法的實(shí)現(xiàn),在接口中一般只是對(duì)方法進(jìn)行了聲明,而我們?cè)趯?shí)現(xiàn)時(shí),就需要實(shí)現(xiàn)接口聲明的所有方法。除了這個(gè)典型的用法以外,我們?cè)诶^承中也可能會(huì)在子類覆蓋父類中的方法。在覆蓋要注意以下的幾點(diǎn):1、重寫方法的參數(shù)列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是重載.2、重寫方法的訪問修飾符一定要大于被重寫方法的訪問修飾符(public>protected>default>private)。3、重寫的方法的返回值必須和被重寫的方

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。