Подтвердить что ты не робот

Можем ли мы перегрузить основной метод в Java?

Можно ли перегрузить метод main() в Java?

4b9b3361

Ответ 1

Вы можете перегрузить метод main(), но только public static void main(String[] args) будет использоваться, когда ваш класс запускается JVM. Например:

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)");
    }
}

Это всегда будет печатать main(String[] args) при запуске java Test ... из командной строки, даже если вы укажете один или два аргумента командной строки.

Вы можете вызывать метод main() самостоятельно из кода, конечно - в этот момент будут применяться правила нормальной перегрузки.

EDIT: обратите внимание, что вы можете использовать подпись varargs, как эквивалент с точки зрения JVM:

public static void main(String... args)

Ответ 2

Да, вы можете перегружать основной метод в Java. Но при запуске вашей программы программа не выполняет перегруженный основной метод, вы должны вызвать перегруженный основной метод из фактического основного метода.

это означает, что основной метод выступает в качестве точки входа для интерпретатора java для запуска выполнения приложения. где в качестве основной нагрузки необходимо вызывать из основного.

Ответ 3

Да, путем перегрузки метода. Вы можете иметь любое количество основных методов в классе путем перегрузки метода. Рассмотрим простой пример:

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

Ответ 4

ДА, вы можете перегрузить 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 
}

Ответ 5

Да, вы можете перегружать основной метод в Java. вы должны вызвать перегруженный основной метод из основного метода.

Ответ 6

Да, вы можете.

Метод main в Java не является внеземным методом. Помимо того, что main() аналогичен любому другому методу и может быть перегружен аналогичным образом, JVM всегда ищет сигнатуру метода для запуска программы.

  • Обычный метод main действует как точка входа для запуска JVM выполнение программы.

  • Мы можем перегрузить метод main в Java. Но программа не поддерживает выполнить перегруженный метод 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);
      }
    }
    

    Действительные варианты main() в Java

Ответ 7

да, мы можем перегрузить основной метод. Основной метод не должен быть статическим основным методом.

Ответ 8

Да, основной метод может быть перегружен. Перегруженный основной метод должен вызываться изнутри "public static void main (String args [])", поскольку это точка входа, когда класс запускается JVM. Также перегруженный основной метод может иметь любой классификатор, как обычный метод.

Ответ 9

Это совершенно законно:

public static void main(String[] args) {

}

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

Ответ 10

Да. Метод 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 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 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 использует для выполнения первой программы.

Ответ 11

Да, вы можете перегружать основной метод, но интерпретатор всегда будет искать правильный синтаксис основного метода, чтобы начать выполнение. И да, вы должны вызвать перегруженный основной метод с помощью объекта.

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

Ответ 12

Да. Согласно моей точке зрения, мы можем перегружать основной метод, но перегружать его методом. Для примера

class main_overload {
    public static void main(int a) {
        System.out.println(a);
    }
    public static void main(String args[]) {
        System.out.println("That My Main Function");
        main(100);
    }
}

В этом двойном обратном слэте Шаг, я просто вызываю основной метод....

Ответ 13

Да вы можете перегрузить основной метод, но должен быть только один метод с подписью 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");
    }
}

Ответ 14

Да, основной метод может быть перегружен, поскольку другие функции могут быть перегружены. Одна вещь должна быть учтена в том, что в качестве аргументов должна быть по крайней мере одна основная функция с "String args []". И в вашей программе может быть любое количество основных функций с различными аргументами и функциональностью. Давайте рассмотрим простой пример:

Class A{

public static void main(String args)
{
System.out.println("This is the main function ");
A object= new A();
object.main("Hi this is overloaded function");//Calling the main function
}

public static void main(String argu)     //duplicate main function
{
System.out.println("main(String argu)");
}
}

Вывод: Это основная функция
Привет, это перегруженная функция