方法重载
- 定义:方法名相同,但各自的参数不同,称为方法重载(Overload)
- 目的:功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单
- 注意:方法重载的返回值类型通常都是相同的。
例子
举个例子,String类提供了多个重载方法indexOf(),可以查找子串:
- int indexOf(int ch):根据字符的Unicode码查找;
- int indexOf(String str):根据字符串查找;
- int indexOf(int ch, int fromIndex):根据字符查找,但指定起始位置;
- int indexOf(String str, int fromIndex):根据字符串查找,但指定起始位置。
// 根据字符串查找
public int indexOf(String str) {
byte coder = coder();
if (coder == str.coder()) {
return isLatin1() ? StringLatin1.indexOf(value, str.value)
: StringUTF16.indexOf(value, str.value);
}
if (coder == LATIN1) { // str.coder == UTF16
return -1;
}
return StringUTF16.indexOfLatin1(value, str.value);
}
// 根据字符查找,但指定起始位置
public int indexOf(String str, int fromIndex) {
return indexOf(value, coder(), length(), str, fromIndex);
}