Java容易混淆的概念

形參和實(shí)參

  • 形參:定義方法的時(shí)候,該方法所攜帶的參數(shù)。(只是聲明下有這個(gè)參數(shù),并沒有給分配內(nèi)存地址。只有在被調(diào)用時(shí)才會(huì)分配內(nèi)存單元,在調(diào)用結(jié)束,即刻釋放所分配的內(nèi)存單元。因此,只在方法內(nèi)才有效。)
    實(shí)參:調(diào)用方法的時(shí)候,給這個(gè)方法傳遞的參數(shù)值。(預(yù)先創(chuàng)建并賦予確定值)
    形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用, 離開該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。
    形參和實(shí)參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時(shí), 主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
    1.形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元,在調(diào)用結(jié)束時(shí), 即刻釋放所分配的內(nèi)存單元。因此,形參只有在函數(shù)內(nèi)部有效。 函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量。
    2.實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等, 無論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí),它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應(yīng)預(yù)先用賦值,輸入等辦法使實(shí)參獲得確定值。
    3.實(shí)參和形參在數(shù)量上,類型上,順序上應(yīng)嚴(yán)格一致, 否則會(huì)發(fā)生“類型不匹配”的錯(cuò)誤。
    4.函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。 即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。 因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化。

靜態(tài)和非靜態(tài)

  • 靜態(tài)變量和靜態(tài)方法又稱類變量和類方法
    靜態(tài)變量和靜態(tài)方法在程序編譯的時(shí)候就會(huì)運(yùn)行

基本數(shù)據(jù)類型和引用數(shù)據(jù)類型

基本數(shù)據(jù)類型和引用數(shù)據(jù)類型 -
基本數(shù)據(jù)類型 -
字節(jié)類型byte
短整型short
整型int
長(zhǎng)整型long
布爾型boolean
字符型char
單精度浮點(diǎn)類型float
雙精度浮點(diǎn)類型double
引用數(shù)據(jù)類型 -
枚舉
接口
數(shù)組
基本數(shù)據(jù)類型的變量存儲(chǔ)的就是數(shù)據(jù)本身的值 -
引用數(shù)據(jù)類型的變量存儲(chǔ)的是數(shù)據(jù)的地址,這個(gè)地址指向了數(shù)據(jù)的值 -

傳值調(diào)用(基本數(shù)據(jù)類型)和引用調(diào)用(引用數(shù)據(jù)類型)

&和&&的區(qū)別

  • &和&&都是邏輯運(yùn)算符,都是判斷兩邊同時(shí)為真則為真,否則為假。但是&&當(dāng)?shù)谝粋€(gè)條件為假時(shí),后面的條件都不執(zhí)行了,而&則還是繼續(xù)執(zhí)行,直到整個(gè)條件語(yǔ)句執(zhí)行完為止。

重寫(Override)和重載(Overload)

  • 重寫是子類對(duì)父類的允許訪問的方法的實(shí)現(xiàn)過程進(jìn)行重新編寫,返回值和形參都不能改變。
    重寫的規(guī)則:
    參數(shù)列表必須完全與被重寫方法相同。
    返回類型必須與被重寫方法的的相同。
    訪問權(quán)限必須比父類中被重寫的方法的訪問權(quán)限更高。
    父類的成員方法只能別它的子類重寫。
    聲明為final的方法不能被重寫。
    聲明為static的方法不能別重寫,但是能夠被再次聲明。
    構(gòu)造方法不能別重寫。
    如果不能繼承一個(gè)方法,則不能重寫這個(gè)方法。
    當(dāng)需要在子類中調(diào)用父類的被重寫方法時(shí),需要使用super關(guān)鍵字。
  • 重載是在一個(gè)類里面,方法名字相同,而參數(shù)不同,返回類型可以相同也可以不同。
    每個(gè)重載的方法(或構(gòu)造函數(shù))都必須有一個(gè)獨(dú)一無二的參數(shù)類型列表。
    只能重載構(gòu)造函數(shù)。
    重載的規(guī)則:
    被重載的方法必須改變參數(shù)列表(參數(shù)個(gè)數(shù)或類型或順序不一樣)。
    被重載的方法可以改變返回類型。
    被重載的方法可以改變?cè)L問修飾符。
    方法能夠在同一個(gè)類中或者在一個(gè)子類中被重載。
    無法以返回值類型作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)。
  • 總結(jié)
    重寫是父類與子類之間多態(tài)性的一種表現(xiàn),重載是一類中多態(tài)性的一種表現(xiàn)。
區(qū)別點(diǎn) 重載方法 重寫方法
參數(shù)列表 必須修改 一定不能修改
返回類型 可以修改 一定不能修改
異常 可以修改 可以減少或刪除,一定不能拋出新的或者更廣的異常
訪問 可以修改 一定不能做更嚴(yán)格的限制(可以降低限制)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,683評(píng)論 1 51
  • 收集非原創(chuàng)文章,如遇原作者,請(qǐng)私聊我,我會(huì)表明出處! 1--10 1. C++中什么數(shù)據(jù)分配在?;蚨?,靜態(tài)存儲(chǔ)區(qū)以...
    Juinjonn閱讀 5,045評(píng)論 0 30
  • 1.面向?qū)ο蟮某绦蛟O(shè)計(jì)思想是什么? 答:把數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的方法封裝形成一個(gè)個(gè)的對(duì)象。 2.什么是類?...
    少帥yangjie閱讀 5,124評(píng)論 0 14
  • 你牙齒不齊,所以你拍照時(shí)從來笑不露齒; 你頭發(fā)又細(xì)又軟又稀少,所以你不敢剪短頭發(fā); 你左邊臉上有顆難看的痣,所以照...
    高小花0218閱讀 429評(píng)論 0 0
  • 首先,我們假設(shè)這樣一個(gè)場(chǎng)景:一個(gè)ViewPager里面嵌套一個(gè)ViewPager,內(nèi)部滑動(dòng)方向和外部滑動(dòng)方向一樣時(shí)...
    Ten_Minutes閱讀 1,107評(píng)論 0 2

友情鏈接更多精彩內(nèi)容