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 |
how we can make a write-only class in java?
How does serialization work
When can we say that threads are not lightweight process in java?
What is finally block?
Can an interface be final?
What is a bubble sort in java?
why Interface used?
Explain how to convert any java object into byte array.
Can a class be a super class and a sub-class at the same time? Give example.
What is consumer in java?
What is stack explain?
What is canonical name in java?