日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java:多态的实现机制

發(fā)布時(shí)間:2025/6/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java:多态的实现机制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在java中,多態(tài)主要由以下兩種表現(xiàn)方式:

? 1. 方法的重載(overload)

? ? ?同一個(gè)方法中有多個(gè)同名的方法,但這些方法有不同的參數(shù)。因此在編譯時(shí),就可以確定到底調(diào)用哪個(gè)方法。它是一種編譯時(shí)多態(tài)重載可以被看做一個(gè)類中的方法多態(tài)性

? 2. 方法的覆蓋(override)

? ? ?子類可以覆蓋父類的方法,因此同樣的方法會(huì)在父類和子類中有著不同的表現(xiàn)形式。 ? 在java語言中,基類的引用變量不僅可以指向基類的實(shí)例對(duì)象,也可以指向其子類的實(shí)例對(duì)象。同時(shí),接口的引用變量也可以指向其實(shí)現(xiàn)類的實(shí)例對(duì)象。這樣就可以實(shí)現(xiàn)動(dòng)態(tài)綁定。 這樣就只有運(yùn)行時(shí)才能確定調(diào)用哪個(gè)方法,因此通過方法覆蓋實(shí)現(xiàn)的多態(tài)也可以被稱為運(yùn)行時(shí)多態(tài)

? ? ?子類覆蓋(override)父類中的方法時(shí),需要注意幾點(diǎn):?

?

?類中的方法有多態(tài)的概念,類中的成員變量沒有多態(tài)的概念。

? ? 如下代碼, 打印的結(jié)果是1, 成員變量的取值是父類還是子類并不取決于創(chuàng)建對(duì)象的類型,而是取決于所定義變量的類型,這是在編譯期間決定的。?

import org.junit.Test;public class Base {public int i = 1;@Testpublic void test(){Base b = new Derived();System.out.println(b.i);// b所屬的類型是Base, b.i指的是Base類中定義的i} }class Derived extends Base{public int i = 2; }

?

總結(jié)

以上是生活随笔為你收集整理的java:多态的实现机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。