1. 程式人生 > >重載、重寫

重載、重寫

否則 out pro system log anim 無法 關鍵字 權限

重寫:1、在同一個包中,父類的private和final的方法不能被子類重寫

2、不在同一個包,則只能重寫非final的protected和public父類的方法

3、對同一個東西進行重新寫,所以必須同名同參同返回值類型

   4、重寫出來的方法的訪問權限不能比父類低(依賴於父類的訪問權限)

 1     static class Animal{
 2         //父類方法定義為static,則子類不可以重寫,除非也定義為static
 3         public static void move(){
 4             System.out.println("動物可以行走");
5 } 6 } 7 static class Dog extends Animal{ 8 public static void move(){ 9 System.out.println("狗會跑"); 10 } 11 public void bark(){ 12 System.out.println("狗會叫"); 13 } 14 }

  當在子類中要調用父類的方法時,可以用super關鍵字或者new一個父類對象

    1、如果用super關鍵字,則父類的方法不能被定義為static,否則無法調用

    2、new一個父類對象就不存在這個問題了,是完全可以調用的

    註意:子類也可以直接super(xx,xx); 默認調用的是父類的構造函數

重載:

  1、必須是同名不同參,返回類型可相同可不相同(無所謂)

  2、參數列表順序不同也是重載

  3、重載出來的方法可以任意修改訪問權限(相當於新寫的一個方法)

重載、重寫