導航:首頁 > 方法技巧 > 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上轉型對象如何調用子類方法相關的資料

熱點內容
最簡單瘦手臂和背部的快速方法 瀏覽:839
啞鈴鍛煉方法啞鈴鍛煉計劃 瀏覽:889
橡皮泥做小手機方法 瀏覽:173
如何快速止盈方法 瀏覽:584
if函數的使用方法視頻教程 瀏覽:476
微博電腦版皮膚設置在哪裡設置方法 瀏覽:135
鋁線與銅絲連接方法 瀏覽:505
半月板前角損傷治療的好方法 瀏覽:740
凱美瑞雨刷的正確拆卸方法 瀏覽:140
鵝掌種植方法 瀏覽:832
鉗工水平尺的正確校準方法 瀏覽:273
渾身沒勁有什麼方法 瀏覽:550
橋頭土石方計算方法 瀏覽:58
一般定向法用什麼的方法確定方向 瀏覽:642
子宮肌腺症的治療方法 瀏覽:907
生火最簡單的方法 瀏覽:535
天才郁悶的原因和解決方法 瀏覽:117
好朋友訓練方法 瀏覽:32
教學方法與手段改革有哪些 瀏覽:281
按摩肚子瘦身方法視頻 瀏覽:420