Java,方法的重寫和重載

1.java中方法的重寫和重載

a)重載(Overloading):

    1)方法名要一樣,但是參數類型或個數不一樣。
    2)與返回值無關
    3)在同一個類中
    4)重載是類的多態性的體現
public class OverLoad {
    public String run(Integer id){
        System.out.println("方法1");
        return "方法1";
    }

    public String run(String name){
        System.out.println("方法2");
        return "方法1";
    }
    public void run(Integer id,String name){
        System.out.println("方法3");
    }
}
b.方法的重寫(Override)

1)子類繼承父類
2)子類重寫父類的方法,方法名,參數必須一樣,返回值類型一樣或者子類是父類的返回值類型的子類。方法具體的實現可以不一樣。
3)如果父類中的方法被private限制訪問權限,則不能被重寫
4)如果方法被final聲明,則不能被重寫
5)重寫,是子類與父類之間多態性的表現
6)子類訪問權限大於等於父類方法訪問權限

class Father{
    father(){
    }
    public void methodA(){
        run();//跑步
    }
}

class Son{
    son(){
    }
    public void methodA(){
        slowRun();//慢跑
    }
}

父類methodA方法,實現是run,而子類想使用這個方法,但是隻想慢慢跑,
所以重寫具體的實現。
c.關於重寫的比較經典的例子:

    有一個動物類Animal,動物類裏面有一個方法:跑run()
    現在一條狗dog類繼承了Animal類,一隻貓cat也繼承了Animal類,
    dog和cat都使用run()跑這個方法,但是狗和貓跑的方式不一樣,所
    以他們這個時候就得重寫run()方法,跑的方法run()不變,具體方法
    的時候,貓有貓具體的跑的方式,狗有狗具體的跑的方式。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章