• <menu id="imuyi"><tt id="imuyi"></tt></menu>
  • 專注Java教育13年 全國咨詢/投訴熱線:400-8080-105
    動力節點LOGO圖
    始于2009,一家只教授Java的培訓機構
    首頁 hot資訊 一文讀懂Java實現多態的機制

    一文讀懂Java實現多態的機制

    更新時間:2022-10-10 09:23:58 來源:動力節點 瀏覽198次

    java多態中主要由以下兩種表現方式:

    1. 方法的重載(overload)

    同一個方法中有多個同名的方法,但這些方法有不同的參數。因此在編譯時,就可以確定到底調用哪個方法。它是一種編譯時多態。重載可以被看做一個類中的方法多態性。

    2. 方法的覆蓋(override)

    子類可以覆蓋父類的方法,因此同樣的方法會在父類和子類中有著不同的表現形式。 在java語言中,基類的引用變量不僅可以指向基類的實例對象,也可以指向其子類的實例對象。同時,接口的引用變量也可以指向其實現類的實例對象。這樣就可以實現動態綁定。 這樣就只有運行時才能確定調用哪個方法,因此通過方法覆蓋實現的多態也可以被稱為運行時多態。

    子類覆蓋(override)父類中的方法時,需要注意幾點:

    類中的方法有多態的概念,類中的成員變量沒有多態的概念。

    如下代碼, 打印的結果是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教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。

    提交申請后,顧問老師會電話與您溝通安排學習

    免費課程推薦 >>
    技術文檔推薦 >>
    返回頂部
    小敏爽?好舒服?快?好大
  • <menu id="imuyi"><tt id="imuyi"></tt></menu>