導航:首頁 > 方法技巧 > java上轉型對象如何調用子類方法

java上轉型對象如何調用子類方法

發布時間:2023-06-04 20:16:44

⑴ Java中怎麼讓子類通過父類的方法去調用子類的方法

子類的對象在調用方法時,先在子類中查找,若方法不存在,則到父類中進行查找。

在調用父類中的方法時,在方法中繼續調用方法,對這個方法的調用者為子類對象,還是按照上面的步驟尋找方法。

所以,子類在調用方法時,調用的都是本類方法,沒有這個方法時,再調用父類中的方法。

⑵ java指向子類的父類對象到底能不能調用子類的方法

你這個問題你問的沒有太明確,我來大概解釋一下吧。
首先你要知道多態的概念,有編譯時多態(前期綁定),還有運行時多態(後期綁定),注意:C語言中只有編譯時多態,但是java兩者都有,java中除了static方法和final方法,其他所有的方法都是後期綁定,類成員變數也是前期綁定的,如果你對java的類初始化順序有所了解就會明白,所以我們寫程序的時候不必去指定是否應該去進行後期綁定,它是自動進行的
注意只有普通方法才可以是多態的,java中類的final方法,static方法,類成員變數,都是在編譯的時候已經確定的,如果用父類引用指向子類對象,那麼你可以自行代碼測試,結論如下:
1.通過父類引用調用子類中重寫父類的方法,那麼會調用子類的重寫方法,
2.通過父類引用調用子類中獨有的方法,那麼必須把父類引用強制轉化成子類類型的引用才能進行調用。
3.通過父類引用調用子類重寫父類的靜態方法(子類中的這個方法和父類中的這個方法返修飾符,返回類型,方法名,參數列表完全相同,假定認為靜態方法也可以重寫吧),通過父類引用調用靜態方法,不會有多態的特徵,調用的還是父類的靜態方法,因為java中靜態方法和類是綁定的,而不是和單個對象綁定的。
4.通過父類引用調用子類和父類中同名的public變數,那麼調用的是父類的成員變數,因為當子類對象轉型為父類引用的時候,訪問局部變數的操作都由編譯器解析,因此不是多態的。子類對象中包含了兩個同名的public變數(debug的時候你會看到子類對象中有兩個變數),他自己的和他從父類得到的,所以通過父類引用指向子類對象而調用父類和子類同名的public 變數,那麼會調用父類的public變數,而不是子類的public變數,因為是前期綁定,編譯時候已經確定了調用哪一個,而不是通過父類引動態地選擇用到底該調用哪一個變數。
反正記住一點,如果父類引用指向了子類對象,那麼通過父類引用調用子類重寫父類的普通方法,那麼可以直接調用,如果通過父類引用調用子類獨有的方法那麼就得強制轉換。

閱讀全文

與java上轉型對象如何調用子類方法相關的資料

熱點內容
宇宙直徑計算方法 瀏覽:673
用麵粉簡單的方法可以做什麼手工 瀏覽:748
入職高中有什麼好方法 瀏覽:794
生活中有什麼除蟎的好方法 瀏覽:185
樂視安裝系統在哪裡設置方法 瀏覽:629
檢查瓷磚的方法圖片 瀏覽:113
開關連接電腦屏幕方法 瀏覽:384
流程稼動率的計算方法 瀏覽:487
初中英語考試技巧方法 瀏覽:678
tan13度數計算方法 瀏覽:664
作比較的方法在文章中怎麼找 瀏覽:158
光學的方法測量外形輪廓 瀏覽:524
如何給室內降溫方法 瀏覽:181
製作山水畫的方法步驟 瀏覽:855
眼睛結膜炎治療方法 瀏覽:589
香港病毒治療方法 瀏覽:870
空調線管的安裝方法 瀏覽:809
耳洞槍的使用方法 瀏覽:983
諾基亞n72鎖碼解決方法 瀏覽:575
如何治毛周角化的方法 瀏覽:181