我们可以在Java中重载main()方法吗?

问题是“我们可以重载main()Java中的方法吗?”

  • 是的,我们可以重载main()Java中的方法。

  • JVM通过其签名调用任何方法,换句话说,JVM查找签名,然后调用该方法。

  • 如果我们在程序中重载一个main()方法,则程序中将有多个main()方法。那么JVM调用哪种方法?如果我们有多个main()方法,则无需混淆,默认情况下,JVM仅使用(string []参数)调用一个main()方法。

示例

class MainMethodOverloading {

    public static void main(String[] args) {

        System.out.println("We are in String[] args");

    }

    public static void main(int args) {

        System.out.println("We are in int args");

    }

    public static void main(String args) {

        System.out.println("We are in String args");

    }

}

输出结果

E:\Programs>javac MainMethodOverloading.java

E:\Programs>java MainMethodOverloading

We are in String[] args

默认情况下,JVM仅调用String参数的一个main()方法,但是如果我们要调用另一个main()方法或任何其他重载main()方法,则我们只能做一件事,即可以显式调用重载main()方法。

我们可以使用String参数在原始main()方法内调用其他main()方法。

示例

//重载 

// main()方法

import java.io.*;

class MainMethodOverloading {

    //原始main()方法

    public static void main(String[] args) {

        System.out.println("Hi, We are in main (String [] args) ");

        MainMethodOverloading.main("Call main() with one argument");

    }

    //这些是重载的main()方法 

    public static void main(String args1) {

        System.out.println(args1);

        MainMethodOverloading.main("call main() with", "two argument");

    }

    public static void main(String args1, String args2) {

        System.out.println(args1 + args2);

        MainMethodOverloading.main("call main() with", "three argument", "from two argument main()");

    }

    public static void main(String args1, String args2, String args3) {

        System.out.println(args1 + args2 + args3);

    }

}

输出结果

E:\Programs>javac MainMethodOverloading.java

E:\Programs>java MainMethodOverloading

Hi, We are in main (String [] args) 

Call main() with one argument

call main() withtwo argument

call main() withthree argumentfrom two argument main()

以上是 我们可以在Java中重载main()方法吗? 的全部内容, 来源链接: utcz.com/z/340761.html

回到顶部