Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)

字號(hào):

運(yùn)行時(shí)多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)代碼重用的一個(gè)大機(jī)制,動(dòng)態(tài)性的概念也可以被說成“一個(gè)接口,多個(gè)方法”。Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的基礎(chǔ)是動(dòng)態(tài)方法調(diào)度,它是一種在運(yùn)行時(shí)而不是在編譯期調(diào)用重載方法的機(jī)制,下面就繼承和接口實(shí)現(xiàn)兩方面談?wù)刯ava運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)。
    一、通過繼承中超類對(duì)象引用變量引用子類對(duì)象來實(shí)現(xiàn)
    舉例說明:
       //定義超類superA
    class superA
    {
    int i = 100;
    void fun()
    {
    System.out.println(“This is superA”);
    }
    }
    //定義superA的子類subB
    class subB extends superA
    {
    int m = 1;
    void fun()
    {
    System.out.println(“This is subB”);
    }
    }
    //定義superA的子類subC
    class subC extends superA
    {
    int n = 1;
    void fun()
    {