iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Software Development

Java基礎筆記系列 第 16

Java的Override與Overload

  • 分享至 

  • xImage
  •  

Override覆寫

Java的Override覆寫機制是指,子類別可以重新改寫父類別的方法,因此,子類別可以擁有不同於父類別的行為。
※當子類別取了一個與父類別相同名稱的方法,呼叫子類別時會是執行子類別的方法。

class Animal{
    void makeSound(){
        System.out.println("Makes a sound");
    }
}

class Dog extends Animal{
    void makeSound(){
        System.out.println("Dog barks");
    }
}

Overload多載

Java的多載Overload指的是,在同一個類別class當中,可以將N個方法取為同名,只要參數不同,Java就能自動調用其方法。

  • 參數不同的定義:

    • 參數的數量不同。
    • 參數的數量相同,但型別不同。
    • 參數的數量、型別相同,但順序不同。
  • 多載的好處:

    • 減輕方法取名的負擔。
    • 功能類似的方法可以取同名,方便查找維護。
Class Calculator {
    int add ( int x , int y ){
        return x + y;
    }
    int add ( int x , int y , int z ){
        return x + y + z;
    }
    double add ( double x , double y ){
        return x + y;
    }

}

當同個類別中,有兩個以上的建構子,則可使用this()來呼叫另一個建構子,this()會出現在第一行,且是在overloading的建構子設計中。
這對創建物件、預設初始值的安排會更加有彈性。

Public class Pen{
    private String brand;
    private String model;
    private int price;
    
    public Pen(String brand, String model){
        this.brand = brand;
        this.model = model;
    }
    
    public Pen(String brand, String model, int price){
        this(brand, model); //呼叫前一個的建構子
        this.price = price;
    }

}

上一篇
Java的多型Polymorphism
下一篇
Java的抽象Abstract
系列文
Java基礎筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言