JAVA--繼承

  繼承在面向對象開發思想中是一個很是重要的概念,它使整個程序架構具備必定的彈性,在程序中複用一些已經定義完事的類不只能夠減小軟件開發週期,也能夠提升軟件的可維護性和可擴展性。java

  在java中,使用extends關鍵字來標識兩個類的繼承關係。架構

  下面舉個例子:ide

  父類:spa

    public class Test {對象

public Test(){繼承

//構造方法開發

}編譯器

protected void todo(){it

//成員方法編譯

}

    }

  子類:

    public class Test2 extends Test{  //繼承父類

public Test2(){ //構造方法

super(); //調用父類構造方法

super.todo();   //調用父類成員方法

}

public void see(){

//新增方法

}

public void todo(){

//可重寫父類方法

}

    }

super():在子類中,能夠直接用super關鍵字調用父類的構造方法和成員方法。

繼承並不僅是擴展父類的功能,還能夠重寫父類的成員方法。

  注意:當重寫父類方法時,修改方法的修飾權限只能從小的範圍到大的範圍改變,例如上面的例子,父類中的todo()方法的修飾權限爲protected,繼承後子類中的方法todo()的修飾權限只能修改成public,不能修改成更小的範圍private。



  在實例化子類對象時,java編譯器會在子類的構造方法中自動調用父類的無參構造方法。

  例子:

  父類:

    public class Test {

public Test(){ //構造方法

System.out.println("這是父類構造方法");

}

    }

  子類:

    public class Test2 extends Test{  //繼承父類

public Test2(){ //構造方法

System.out.println("這是子類構造方法");

}

public static void main(String[] args) {

Test2 p=new Test2();   //實例化子類對象

}

    }

最終獲得的結果會將父類和子類的構造方法內的打印語句都實現:

這是父類構造方法

這是子類構造方法

  在結果中能夠看到調用構造方法的順序,首先是頂級父類,其次纔是子類,順序從高到低。

相關文章
相關標籤/搜索