override, overload, overwrite

override:覆寫是對接口方法名實現ide

overload:重載 同一個類裏同一個方法名,有不一樣入參函數

overwrite:重寫 重寫父類所屬方法spa

覆蓋(override)

繼承了父類的同名無參函數:當子類從父類繼承一個無參方法,而又定義了一個一樣的無參數的方法時,則子類新寫的方法覆蓋父類的方法,成爲覆蓋code

class Super{
    public void NoParametersMethod(){
        System.out.println("Super Method....");
    }
}

class subClass extends Super {
    public void NoParametersMethod(){
        System.out.println("subClacc Method....");
    }   
}

class override{
    public static void main(String[] args) {
        subClass sub = new subClass();
        sub.NoParametersMethod();
    }
}

重載(overload)

繼承了父類的同名有參函數:當子類繼承了父類的一個同名參數,且方法參數表不一樣,則稱爲重載,經過方法重載,子類能夠從新實現父類的某些方法,使其具備本身的特徵繼承

class Super{
    public void WithParametersMethod(int a){
        System.out.println("Super Method:"+a);
    }
}

class subClass extends Super {
    public void WithParametersMethod(int a,int b){
        System.out.println("subClacc Method:"+a+","+b);
    }   
}

class overload{
    public static void main(String[] args) {
        subClass sub = new subClass();
        sub.WithParametersMethod(0);
        sub.WithParametersMethod(1,2);
    }
}

重寫(overwrite)

當前類的同名方法:經過方法重寫,一個類中能夠有多個具備相同名字的方法接口

class Curr{
    public void fun(int i) {
        System.out.println("int");
    }
    public void fun(int i,String s){
        System.out.println("int,String");
    }
    public void fun(String s,int i){
        System.out.println("String,int");
    }
}

class override{
    public static void main(String[] args) {
        Curr curr = new Curr();
        curr.fun(0);
        curr.fun(0, "");
        curr.fun("", 0);
    }
}
相關文章
相關標籤/搜索