更新時間:2022-10-10 09:23:58 來源:動力節點 瀏覽2052次
在java多態中主要由以下兩種表現方式:
同一個方法中有多個同名的方法,但這些方法有不同的參數。因此在編譯時,就可以確定到底調用哪個方法。它是一種編譯時多態。重載可以被看做一個類中的方法多態性。
子類可以覆蓋父類的方法,因此同樣的方法會在父類和子類中有著不同的表現形式。 在java語言中,基類的引用變量不僅可以指向基類的實例對象,也可以指向其子類的實例對象。同時,接口的引用變量也可以指向其實現類的實例對象。這樣就可以實現動態綁定。 這樣就只有運行時才能確定調用哪個方法,因此通過方法覆蓋實現的多態也可以被稱為運行時多態。
類中的方法有多態的概念,類中的成員變量沒有多態的概念。
如下代碼, 打印的結果是1, 成員變量的取值是父類還是子類并不取決于創建對象的類型,而是取決于所定義變量的類型,這是在編譯期間決定的。
import org.junit.Test;
public class Base {
public int i = 1;
@Test
public 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;
}
以上就是關于“一文讀懂Java實現多態的機制”介紹,大家如果想了解更多相關知識,不妨來關注一下本站的Java教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習