中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java是如何區分重載和重寫

發布時間:2021-12-21 10:51:41 來源:億速云 閱讀:119 作者:柒染 欄目:大數據

java是如何區分重載和重寫,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

這個問題比較簡單,適合小白,主要區分方法的重載和重寫。有時候經常搞混,下面就是為了很好的去整理區分一下。

一個類中,可以有很多的構造方法,而且名字相同都是類名,其實這些方法就已經構成了重載。重寫也就是說,在一個類中,可以有很多名字相同的不同方法。現在一個問題來了,就是java是如何區分這些方法的呢?

方法重載

其實區分重載,有一個很簡便的方法,那就是每一個方法有一個獨一無二的參數列表。

public class Son extends Father{
    int fff(){
       return 0;
    }
    String fff(int x,String y){
       return "";
     }
    void fff(String y,int x){};

    public static void main(String[] args) {
        Son son=new Son();
    }
}
 

由以上代碼可以看到:

1、參數個數不同可以區分

2、參數的順序不同可以區分。

注意;返回值類型不同不能區分。

為什么返回值類型不同不能區分呢?這是因為有時候我們定義的方法,我們只是想要簡單地去調用,而不想去獲取他的返回值。

比如:在調用fff()時,只需要調用fff()或者是fff(1,"數據")而不去獲取他的返回值。這樣jvm是無法區分的。

 

方法重寫

 
先看概念:

1、在子類中可以根據需要對從基類中繼承來的方法進行重寫。

2、重寫的方法和被重寫的方法必須具有相同方法名稱、參數列表和返回類型。(注:返回值可以為父類中返回值的子類型.參數若為子類,則不是重寫是重載)

3、重寫方法不能使用比被重寫的方法更嚴格的訪問權限。

4、重寫方法不能聲明拋出比被重寫方法范圍更大的異常類型。

總結:重寫是子類對所繼承父類相同方法的一種更改,這個更改需要遵循格式按照父類的格式,訪問權限,拋出異常等等,都在父類方法控制范圍內,內部具體實現可以實現不同的效果。

通俗一點來說:重寫就是對父類的的同一個方法的改寫,但是別人怎么知道你這是重寫,不是添加的新方法?這就要求格式必須跟父類相同,別人一看,呀,他倆長的一模一樣(指的上面2,3,4規則),肯定是重新寫了,就是重寫。

 
看一個例子:

定義父類:

public class Father extends Grandpa {
    String add(int a,int b){
        int c=a+b;
        return ""+c;
    }
}
 

定義子類

public class Son extends Father{
    String add(int a,int b){
        int c=a+b;
        return ""+c;
    }
    public static void main(String[] args) {
        Son son=new Son();
    }
}

這樣就完成了方法的重寫。

關于java是如何區分重載和重寫問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平乐县| 谷城县| 隆化县| 南乐县| 博爱县| 海伦市| 普兰店市| 阳高县| 松桃| 建始县| 和田县| 新田县| 吐鲁番市| 海丰县| 板桥市| 奉化市| 南宁市| 子洲县| 喀喇沁旗| 桂阳县| 察隅县| 枣强县| 大同市| 阿城市| 遂昌县| 双江| 汉阴县| 贺州市| 金湖县| 东乡族自治县| 堆龙德庆县| 清镇市| 临朐县| 荆州市| 玛纳斯县| 自治县| 湖州市| 绵竹市| 榆树市| 枣庄市| 米易县|