首頁  >  文章  >  Java  >  06.Java 基礎 - 重載&重寫

06.Java 基礎 - 重載&重寫

黄舟
黄舟原創
2017-02-27 10:23:241194瀏覽

基本概念

重載,即 Overload;重寫,即 Override。

區別是:重載發生在同一個類別中;重寫發生在繼承過程。


Overload

重載具有下特點:

  • ##它發生在

    同一類別中

  • 發生重載的函數中

    函數名稱相同,但是函數的參數(個數和型別)不同

  • 重載與傳回型別無關

下面透過一個實例來探究。

public String print(String word) {    return word;
}// ①函数名称相同,参数个数不同public String print(String word, String title) {    return word + title;
}// ②函数名称相同,参数类型不同public String print(int num) {    return num + "";
}// ③函数名称相同,参数类型、个数不同public String print(int num, int num2) {    return num + num2 + "";
}// ④与返回类型无关public int print() {    return 100;
}


Override

重寫具有以下特點:

  • 發生重寫的方法要求

    方法名稱、傳回型別、參數個數/型別要完全相同,

  • 方法可以使用註解

    @Override 來校驗是否屬於重寫。

  • 子類別方法的存取權限大於父類別。

  • 子類別方法只能拋出比父類別方法更小的例外狀況或不拋出例外。

  • 被重寫的方法不能有

    final,private, static 修飾符。因為用 final,private 修飾的方法無法被繼承,而 static 方法只跟類別有關,形式上是重寫,但實際上子類別定義了自己的靜態方法而已。

下面來看發生重寫的範例:

class Parent {
    String word ="Parent";    void print(){
    }
}

class Son extends Parent {
    String word ="Son";    @Override
    void print(){
        System.out.println(word);
    }
}

class Grandson extends Son {
    String word ="Grandson";    @Override
    void print(){
        System.out.println(word+"-"+super.word);
    }
}

 以上就是06.Java 基礎- 重載&重寫的內容,更多相關內容請關注PHP中文網(www.php.cn)!



#

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn