1. 程式人生 > 實用技巧 >Java面向物件基礎——過載

Java面向物件基礎——過載

在一個類中,我們可以定義多個方法。如果有一系列方法,它們的功能都是類似的,只有引數有所不同,那麼,可以把這一組方法名做成同名方法。例如,在Hello類中,定義多個hello()方法:

class Hello {
    public void hello() {
        System.out.println("Hello, world!");
    }

    public void hello(String name) {
        System.out.println("Hello, " + name + "!");
    }

    public void hello(String name, int
age) { if (age < 18) { System.out.println("Hi, " + name + "!"); } else { System.out.println("Hello, " + name + "!"); } } }

這種方法名相同,但各自的引數不同,稱為方法過載(Overload)。

注意:方法過載的返回值型別通常都是相同的。

方法過載的目的是,功能類似的方法使用同一名字,更容易記住,因此,呼叫起來更簡單。

舉個例子,String類提供了多個過載方法indexOf()

,可以查詢子串:

  • int indexOf(int ch):根據字元的Unicode碼查詢;

  • int indexOf(String str):根據字串查詢;

  • int indexOf(int ch, int fromIndex):根據字元查詢,但指定起始位置;

  • int indexOf(String str, int fromIndex)根據字串查詢,但指定起始位置。

小結

方法過載是指多個方法的方法名相同,但各自的引數不同;

過載方法應該完成類似的功能,參考StringindexOf()

過載方法返回值型別應該相同。