Override,Overload,Overwrite到底有什么區(qū)別?

Override,Overload,Overwrite的區(qū)別【新手可忽略不影響繼續(xù)學(xué)習(xí)】 
方法的覆蓋(Override)是指子類重寫從父類繼承來的一個同名方法(參數(shù)、返回值也同),馬克-to-win:此時子類將清除父類方法的影響,實(shí)現(xiàn)自身的行為。實(shí)在想用原來的,可以用super。順便說,overload指同名方法,通過不同的參數(shù)樣式共存,有時用這個,有時用那個。參數(shù)樣式指,不同的參數(shù)類型,不同的參數(shù)個數(shù),不同的參數(shù)順序,返回值不起作用。再順便說,比較權(quán)威公開的著作,都支持overwrite在java中不存在的說法。我們看看下面的一個實(shí)用的例子。此例子證明,compiler(編譯器)一定是按照先子類,后父類,先精確匹配,后模糊匹配的順序。
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號: 73203。



例1.5.3

class AAAMark_to_win {
    double f(double x, double yMark_to_win) {
        return x * yMark_to_win;
    }
    double f(int x, double y) {
        return x * y*2;
    }
}
class BBB extends AAAMark_to_win {
    double f(double x, double y)
    {
        return x + y;
    }
}
public class Test {
    public static void main(String args[]) {
        BBB obj = new BBB();
/*找參數(shù)的準(zhǔn)確匹配, 子類中沒有, 就去父類中找*/       
        System.out.println(obj.f(4, 6.0));
/*如果沒有準(zhǔn)確匹配, 就模糊匹配(強(qiáng)轉(zhuǎn)一下),馬克-to-win:還是按照從子類到父類的順序*/       
        System.out.println(obj.f(4.0, 6));
    }
}

結(jié)果是:

48.0
10.0