透析Java本质的36个话题第四章 04构造器与变量(不全)
1.相差无几-main方法很“特殊”吗?
1. main方法的重载。
2.调用main方法。
3.继承 main方法。
4.隐藏main方法。
5. main方法抛出异常。
6.带有类型参数。
main方法的重载
可以编译通过,但是找不到程序入口
public static void main() {
}
static void main(){
}
public int main(int i){
return 1;
}
main方法同样可以调用
main方法同样可以继承
main方法同样可以覆盖
main方法同样抛出异常
main方法同样可以使用泛型
2.一词多义——方法重载的详细说明
以下不能区分重载方法
1.形式参数的名称
2.方法的返回类型
3.方法的异常列表
4.参数化类型
void m(List list){}
//'m(List)' clashes with 'm(List<String>)'; both methods have same erasure
void m(List<String> list){}
void m(List<Number> list){}
//Diamond钻石表达式编译时进行类型消除, 不能起到区分方法的作用1