基礎(chǔ)拾遺(一)

溫故《Java核心技術(shù)》,所以基本上是根據(jù)這本書(shū)對(duì)基礎(chǔ)進(jìn)行部分拾遺,看到哪兒記到哪兒

類關(guān)系

依賴(use-a)

A類的方法操作B類的對(duì)象,則A依賴B,比如Order類需要訪問(wèn)Account類,查看信用狀態(tài)。

聚合(has-a)

類A對(duì)象包含類B的對(duì)象,比如Order對(duì)象包含Item對(duì)象

繼承(is-a)

類A是類B的一種特殊情況,比如RushOrder由Order類繼承而來(lái)

方法參數(shù)說(shuō)明

Java傳遞類型兩種:

  1. 基本數(shù)據(jù)類型
    基本對(duì)象類型傳遞過(guò)去的是一個(gè)值得拷貝,所以不會(huì)改變?cè)械闹担?/li>
  2. 對(duì)象引用
    對(duì)象傳遞過(guò)去的是對(duì)象的引用地址,所以如果改變對(duì)象的話,原對(duì)象內(nèi)容會(huì)跟著變

繼承

重載

方法名與參數(shù)形成一個(gè)標(biāo)簽(注意返回類型不在標(biāo)簽內(nèi)),同一個(gè)方法名,不通的參數(shù)稱之為(方法)重載

多態(tài)

一個(gè)超類,可以有很多個(gè)不同的子類,比如Employee(雇員)這個(gè)超類,他可以有很多子類開(kāi)發(fā)人員、測(cè)試人員、經(jīng)理、銷售人員等等。Employee對(duì)象可以引用Employee對(duì)象,也可以引用任何他的子類對(duì)象,這種置換關(guān)系稱之為多態(tài)

方法的執(zhí)行過(guò)程
  1. 獲取類名與方法名
  2. 獲取參數(shù),進(jìn)行重載解析
    1. 找到參數(shù)完全匹配的方法,若有則定位此方法為調(diào)用方法
    2. 對(duì)參數(shù)進(jìn)行類型轉(zhuǎn)換,匹配最符合條件的方法
    3. 若都沒(méi)有,或者找到多個(gè),則報(bào)錯(cuò)
  3. 綁定方法
    1. 若方法是private、final、static類型的,則編譯器可以知道準(zhǔn)確方法,進(jìn)行靜態(tài)綁定(由編譯器綁定)
    2. 若方法非以上三種類型,則調(diào)用方法需要依賴于隱式參數(shù)的實(shí)際類型,在運(yùn)行時(shí)動(dòng)態(tài)綁定(由方法調(diào)用器綁定)
  4. 執(zhí)行方法
    1. 類方法(靜態(tài)綁定),虛擬機(jī)會(huì)基于對(duì)象引用的的類型來(lái)選擇調(diào)用的方法
    2. 實(shí)例方法(動(dòng)態(tài)綁定),虛擬機(jī)基于對(duì)象實(shí)例(只有在運(yùn)行時(shí)得知)類型,動(dòng)態(tài)獲取方法(這算是多態(tài))
      1. 虛擬機(jī)提取對(duì)象的實(shí)際類型的方法表;
      2. 虛擬機(jī)搜索方法簽名;
      3. 調(diào)用對(duì)象相匹配的方法

未完待續(xù)……

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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