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

熱點內容
上課如何變積極的方法 瀏覽:443
印章質量檢測與規范方法 瀏覽:497
蘋果設置設備在哪裡設置方法 瀏覽:936
棉花的種植密度和方法 瀏覽:25
組織行為學態度測量方法 瀏覽:647
天際隔水燉使用方法 瀏覽:716
肺結節有什麼方法解決嗎 瀏覽:128
成衣製作方法分析 瀏覽:783
香樟種植方法 瀏覽:106
泮托拉唑的食用方法 瀏覽:807
解決解決問題的策略方法 瀏覽:725
熏魚乾的食用方法 瀏覽:503
gridview使用方法 瀏覽:965
用什麼方法檢查是否肌萎 瀏覽:95
治療白斑用什麼方法最好 瀏覽:589
避震行為的正確方法 瀏覽:496
如何識別精密電阻有哪些識別方法 瀏覽:764
建築內部管道安裝方法 瀏覽:341
平安燈安裝方法 瀏覽:894
蓄電池電量檢測的方法有哪些 瀏覽:583