Java中方法重寫與方法過載

scbiaosdo發表於2018-04-18

方法重寫(覆寫)(override):

即方法覆蓋。指的是父子類中方法的關係。父類A中有方法method1,在子類中想要使用method1這個方法簽名而又要實現與父類method1方法不同的功能,這個時候就要用到方法重寫。即子類使用父類的方法簽名,但子類方法體與父類不同,實現的功能不同。
  
 public class A {      
        public void method1(){  
            System.out.println("method1");  
        }  
    }  
    public class SubA extends A{   
        public void method1() {  
            System.out.println("method1 in SubA");  
        }     
    }  
在A的子類SubA中重寫了A的method1方法,而兩個method1中輸出的語句不同。

方法過載(overload):

同一個類中方法之間的關係。這裡要弄清楚如何區別是兩個方法簽名是否同一個方法的簽名。方法簽名的區分規則:方法簽名的區分是以方法的引數型別、排序與個數為標準的。如果兩個方法簽名有相同的引數型別、引數排序和引數個數,那麼這兩個方法使用的同一個簽名。在同一個類中兩個方法使用同一個方法簽名會報錯。而方法過載就是兩個方法使用了相同的方法名而方法的引數不一致。(引數不同:1、引數個數不同;2、引數型別不同。)
public class A {  
    public void method1(){  
        System.out.println("method1");  
    }  
    public void  method1(int i){  
        System.out.println("method1 too");  
    }  
      


相關文章