答案是肯定的,我们可以重载main()方法,一个Java类可以有任意数量的main()方法,比如下面的 MainDemo 类,就有多个 main() 方法。

package com.magic.main;

public class MainDemo {
    
    public static void main(String[] args) {
        System.out.println("Hello World!");
        main();
        main("test".toCharArray());
        main(new int[]{0});
        main("test");
        main(0);
    }

    public static void main() {
        System.out.println("no args");
    }

    public static void main(char[] args) {
        System.out.println("args type is char[]");
    }

    public static void main(int[] args) {
        System.out.println("args type is int[]");
    }

    public static int main(String arg) {
        System.out.println("arg type is String");

        return 0;
    }

    public static void main(int arg) {
        System.out.println("arg type is int");
    }

}

运行程序,可以看到输出了以下的结果:

Hello World!
no args
args type is char[]
args type is int[]
arg type is String
arg type is int

可以看出,main()方法是可以被重载的,那么另一个问题又来了:Java中的main()方法能否被覆盖重写呢?

更多有关Java面试相关的知识点可以关注【Java面试手册】小程序,涉及Java基础、多线程、JVM、Spring、Spring Boot、Spring Cloud、Mybatis、Redis、数据库、数据结构与算法等。


十方
226 声望433 粉丝