Is there is any error if you have multiple main methods in
the same class?
Answers were Sorted based on User's Feedback
Answer / rakesh nath
Well, I think we are going out of the question. The question
is that whether there is any error if we have multiple main
methods. Answer is not necessarily. I would like to change
the question in this way. Will it be possible to have
multiple main methods in the same class? Now the answer is
YES. WE CAN. But there should be only one main method that
has the complete signature "public static void main(String
args[])".
For example,
class Test
{
public static void main(String args[]){....}
public static void main(int args[]){....}
public static void main(boolean args[]){....}
public static void main(Object args[]){....}
}
this code will work without any error.
Remember there should be ONLY ONE main method with the
signature "public static void main(String <varargs>)"
because the compiler searches for this method to be loaded
into the bootstrap loader. If there are multiple methods
with this signature, it will throw an error.
| Is This Answer Correct ? | 42 Yes | 0 No |
Answer / harathi
We can have multiple main methods with different
arguments.Compiler throws an error if we have a method
similar to public static void main(String args[])
| Is This Answer Correct ? | 21 Yes | 3 No |
Answer / aburar yaseen
we can use multiple main methods in a class by overloading
and not by the overriding. but the overriding is possible
in case of parent child combination.
example:
class xxx{
public static void main(String args[]){}
void main(){}
}
the above is called overloading.
example2;
class xxx{
public static void main(String args[]){}
}
class yyy extends xxx{
public static void main(String args[]){}
}
the above is overriding.
example3;
class xxx{
public static void main(String args[]){}
public static void main(String args[]){}
}
the example3 is not possible
}
| Is This Answer Correct ? | 16 Yes | 3 No |
Answer / pranab dutta
No the program fails to compile, if you have multiple main
methods in the same class. The compiler says that the main
method is already defined in the class.
| Is This Answer Correct ? | 18 Yes | 8 No |
Answer / nisha
The compilation error, if you have multiple main
methods in the same class.
Error like :java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source
code - main(java.lang.String[]) is already defined
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / someone else
this is not overriding,,,,,it is over hidding
| Is This Answer Correct ? | 1 Yes | 5 No |
Answer / srikanth
No, there is no error if we have multiple main methods
in the same class.
because, while compiling we only specify one main method
name so, the JVM compiles it by taking the main method which
is specified by us while compiling.
| Is This Answer Correct ? | 3 Yes | 23 No |
Why java is platform independent? Explain.
What is the difference between variable declaration and variable initialization?
What is the use of set in java?
When do we use synchronized blocks and advantages of using synchronized blocks?
how can u handle run time exception in java? explain with brief explanation with examples?
Implementations of set interface?
What is meant by method overriding?
What are the types of collections in java?
What is skeleton and stub? What is the purpose of those?
Which One is optimal to choose ? Syncronized hash map or Hash table with single thread model? How can a hash map syncronized with out using syncrozed blocks in programm?
What are different types of arrays?
what is the purpose of "virtual"?