Können wir eine main()Methode in Java überladen ?
Können wir eine main()Methode in Java überladen ?
Antworten:
Sie können die main()Methode überladen , sie wird jedoch nur public static void main(String[] args)verwendet, wenn Ihre Klasse von der JVM gestartet wird. Zum Beispiel:
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)");
}
}
Dies wird immer gedruckt, main(String[] args)wenn Sie java Test ...über die Befehlszeile ausgeführt werden, auch wenn Sie ein oder zwei Befehlszeilenargumente angeben.
Sie können die main()Methode natürlich selbst aus dem Code aufrufen - an diesem Punkt werden die normalen Überladungsregeln angewendet.
BEARBEITEN: Beachten Sie, dass Sie eine varargs-Signatur verwenden können, da dies vom JVM-Standpunkt aus gleichwertig ist:
public static void main(String... args)
main()von einer anderen Stelle in Ihrem Code aus anrufen .
String[]. Dies ist die einzige Signatur, die als Einstiegspunkt erkannt wird.
mainMethode auch direkt aus anderem Code aufgerufen werden kann. Es ist also nicht so, als wäre eine solche Überladung nicht möglich.
Ja, Sie können die Hauptmethode in Java überladen. Das Programm führt die überladene Hauptmethode jedoch nicht aus, wenn Sie Ihr Programm ausführen. Sie müssen die überladene Hauptmethode von der eigentlichen Hauptmethode aus aufrufen.
Das bedeutet, dass die Hauptmethode als Einstiegspunkt für den Java-Interpreter fungiert, um die Ausführung der Anwendung zu starten. wo als geladene main von main aufgerufen werden muss.
Ja, durch Methodenüberladung. Durch Überladen von Methoden können Sie eine beliebige Anzahl von Hauptmethoden in einer Klasse haben. Sehen wir uns das einfache Beispiel an:
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);
}
}
Es wird die folgende Ausgabe geben:
main() method invoked
10
JA, Sie können main () überladen
Aber um klar zu sein - obwohl Sie main überladen können, kann nur die Version mit der Standardsignatur als Anwendung über die Befehlszeile ausgeführt werden. z.B
public static void main(String a,String... args){
// some code
}
2)public static void main(String[] args){//JVM will call this method to start
// some code
}
Ja, die Hauptmethode kann überladen sein. Die überladene Hauptmethode muss innerhalb der "public static void main (String args [])" aufgerufen werden, da dies der Einstiegspunkt ist, wenn die Klasse von der JVM gestartet wird. Auch überladene Hauptmethoden können beliebige Qualifikationsmerkmale haben wie normale Methoden.
Ja, du kannst.
Die mainMethode in Java ist keine außerirdische Methode. Abgesehen von der Tatsache, dass main()JVM wie jede andere Methode auf ähnliche Weise überladen werden kann, sucht es immer nach der Methodensignatur, um das Programm zu starten.
Die normale mainMethode fungiert als Einstiegspunkt für die JVM, um die Ausführung des Programms zu starten.
Wir können die mainMethode in Java überladen . Das Programm führt
die überladene mainMethode jedoch nicht aus , wenn wir Ihr Programm ausführen. Wir müssen die überladene mainMethode nur von der eigentlichen Hauptmethode aus aufrufen .
// 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);
}
}
Das ist völlig legal:
public static void main(String[] args) {
}
public static void main(String argv) {
System.out.println("hello");
}
Ja. Die Methode 'main ()' kann überladen werden. Ich habe versucht, einen Code einzugeben, um Ihre Frage zu beantworten.
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 );
}
}
}
Ausgabe:
$ 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
$
Im obigen Code werden sowohl die statische Methode als auch eine nicht statische Version der Hauptmethoden zu Demonstrationszwecken überladen. Beachten Sie, dass beim Schreiben von JVMs main die Hauptmethode ist, mit der JVM zuerst ein Programm ausführt.
Ja, Sie können die Hauptmethode überladen, aber der Interpreter sucht immer nach der richtigen Syntax der Hauptmethode, um mit der Ausführung zu beginnen. Und ja, Sie müssen die überladene Hauptmethode mit Hilfe des Objekts aufrufen.
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
Ja Meiner Ansicht nach können wir die Hauptmethode überladen, aber das Überladen der Methode ist es. Zum Beispiel
class main_overload {
public static void main(int a) {
System.out.println(a);
}
public static void main(String args[]) {
System.out.println("That's My Main Function");
main(100);
}
}
In diesem Double Back-Schrägstrich rufe ich nur die Hauptmethode auf ....
Ja, eine Hauptmethode kann überladen werden, da andere Funktionen überladen werden können. Es muss darauf geachtet werden, dass mindestens eine Hauptfunktion mit " String args [] " als Argumenten vorhanden ist. Und es kann eine beliebige Anzahl von Hauptfunktionen enthalten Ihr Programm mit verschiedenen Argumenten und Funktionen. Lassen Sie uns anhand eines einfachen Beispiels verstehen:
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)");
}
}
Ausgabe: Dies ist die Hauptfunktion.
Hi, dies ist eine überladene Funktion
Ja, Sie können die Hauptmethode überladen, aber in jeder Klasse sollte es nur eine Methode mit Signatur geben, public static void main(string args[])bei der Ihre Anwendung die Ausführung startet, wie wir in jeder Sprache wissen. Die Ausführung beginnt mit der Hauptmethode.
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");
}
}