透析Java本质的36个话题第四章 04构造器与变量(不全)

发布时间 2023-11-26 22:42:36作者: lartimes

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