我们可以重载Java中的主要方法吗?

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

可以重载main()方法,但是只有当你的类被JVM启动时,才会使用public static void main(String[] args) 。 例如:

 public class Test { public static void main(String[] args) { System.out.println("main(String[] args)"); } public static void main(String arg1) { System.out.println("main(String arg1)"); } public static void main(String arg1, String arg2) { System.out.println("main(String arg1, String arg2)"); } } 

即使您指定了一个或两个命令行参数,当您从命令行运行java Test ...时, 总是会打印main(String[] args)

你可以从代码中自己调用main()方法,当然,正常的重载规则将被应用。

编辑:请注意,您可以使用可变长度签名,因为这是从JVM的angular度来看相当于:

 public static void main(String... args) 

是的,你可以重载Java中的main方法。 但是程序在运行程序时并不执行重载的main方法,而必须从实际的main方法调用重载的main方法。

这意味着main方法作为java解释器启动应用程序执行的入口点。 作为一个加载的主要需要从main调用。

是的,通过方法重载。 通过方法重载,你可以在一个类中拥有许多主要的方法。 我们来看一个简单的例子:

 class Simple{ public static void main(int a){ System.out.println(a); } public static void main(String args[]){ System.out.println("main() method invoked"); main(10); } } 

它会给出以下输出:

 main() method invoked 10 

是的,你可以重载main()

但要清楚 – 虽然可以重载main,但只有具有标准签名的版本才可以作为应用程序从命令行执行。 例如

 public static void main(String[] args,int a){ // some code } 2)public static void main(String[] args){//JVM will call this method to start // some code } 

是的,你可以重载Java中的main方法。 你必须从实际的main方法中调用重载的main方法。

是的你可以。

Java中的main方法是没有外部的方法。 除了main()和其他方法一样,也可以用类似的方式重载的事实,JVM总是寻找方法签名来启动程序。

  • 正常的main方法作为JVM启动程序执行的入口点。

  • 我们可以重载Java中的main方法。 但是这个程序没有
    当我们运行程序的时候执行重载的main方法,我们只需要从实际的main方法调用重载的main方法。

     // A Java program with overloaded main() import java.io.*; public class Test { // Normal main() public static void main(String[] args) { System.out.println("Hi Geek (from main)"); Test.main("Geek"); } // Overloaded main methods public static void main(String arg1) { System.out.println("Hi, " + arg1); Test.main("Dear Geek","My Geek"); } public static void main(String arg1, String arg2) { System.out.println("Hi, " + arg1 + ", " + arg2); } } 

    Java中main()的有效变体

是的,我们可以重载主要方法。 主要方法不能是静态主要方法。

是的,main方法可以被重载。 必须从“public static void main(String args [])”中调用重载的main方法,因为这是JVM启动类时的入口点。 重载的主要方法也可以像普通方法一样具有任何限定符。

这是完全合法的:

 public static void main(String[] args) { } public static void main(String argv) { System.out.println("hello"); } 

是。 'main()'方法可以被重载。 我试图把一些代码来回答你的问题。

 public class Test{ static public void main( String [] args ) { System.out.println( "In the JVMs static main" ); main( 5, 6, 7 ); //Calling overloaded static main method Test t = new Test( ); String [] message = { "Subhash", "Loves", "Programming" }; t.main(5); t.main( 6, message ); } public static void main( int ... args ) { System.out.println( "In the static main called by JVM's main" ); for( int val : args ) { System.out.println( val ); } } public void main( int x ) { System.out.println( "1: In the overloaded non-static main with int with value " + x ); } public void main( int x, String [] args ) { System.out.println( "2: In the overloaded non-static main with int with value " + x ); for ( String val : args ) { System.out.println( val ); } } } 

输出:

 $ java Test In the JVMs static main In the static main called by JVM's main 5 6 7 1: In the overloaded non-static main with int with value 5 2: In the overloaded non-static main with int with value 6 Subhash Loves Programming $ 

在上面的代码中,静态方法和主要方法的非静态版本都被重载用于演示目的。 请注意,通过编写主要的JVM,我的意思是说,这是JVM首先使用的主要方法来执行程序。

是的,你可以重载主要方法,但解释器将始终search正确的主要方法语法来开始执行。是的,你必须借助对象调用重载的主要方法。

 class Sample{ public void main(int a,int b){ System.out.println("The value of a is " +a); } public static void main(String args[]){ System.out.println("We r in main method"); Sample obj=new Sample(); obj.main(5,4); main(3); } public static void main(int c){ System.out.println("The value of c is" +c); } } The output of the program is: We r in main method The value of a is 5 The value of c is 3 

是的,你可以重载主要的方法,但应该只有一个方法与签名public static void main(string args[])

 package rh1; public class someClass { public static void main(String... args) { System.out.println("Hello world"); main("d"); main(10); } public static void main(int s) { System.out.println("Beautiful world"); } public static void main(String s) { System.out.println("Bye world"); } }