重載、重寫
阿新 • • 發佈:2018-03-30
否則 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、重載出來的方法可以任意修改訪問權限(相當於新寫的一個方法)
重載、重寫