Java面向物件基礎——過載
阿新 • • 發佈:2020-09-07
在一個類中,我們可以定義多個方法。如果有一系列方法,它們的功能都是類似的,只有引數有所不同,那麼,可以把這一組方法名做成同名方法。例如,在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, intage) { 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)
根據字串查詢,但指定起始位置。
小結
方法過載是指多個方法的方法名相同,但各自的引數不同;
過載方法應該完成類似的功能,參考String
的indexOf()
;
過載方法返回值型別應該相同。