0% found this document useful (0 votes)
12 views

Java Interview Question

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Java Interview Question

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Question Related to main() method

1.Can we define a class without main method?

 No, you can’t run java class without main method.


 Before Java 7, you can run java class by using static initializers. But, from Java
7 it is not possible.

2.Can main() method take an argument other than string array?

 No, argument of main() method must be string array.


 But, from the introduction of var args you can pass var args of string type as an
argument to main() method. Again, var args are nothing but the arrays.

3.Can we change return type of main() method?

 No, the return type of main() method must be void only. Any other type is not
acceptable.

4.Why main() method must be static?

 main() method must be static.


 If main() is allowed to be non-static, then while calling the main method JVM
has to instantiate it’s class.
 While instantiating it has to call constructor of that class. There will be an
ambiguity if constructor of that class takes an argument.
 For example, In the below program what argument JVM has to pass while
instantiating class “A”?.

5.Can We Declare main() Method As Non-Static?

 No, main() method must be declared as static so that JVM can call main()
method without instantiating it’s class.
 If you remove ‘static’ from main() method signature, compilation will be
successful but program fails at run time.

6.Can We Overload main() method?

 Yes, We can overload main() method. A Java class can have any number of
main() methods. But to run the java class, class should have main()
 method with signature as “public static void main(String[] args)”. If you do any
modification to this signature, compilation will be successful.
 But, you can’t run the java program. You will get run time error as main
method not found.


7.Can we declare main() method as private or protected or with no
access modifier?
No, main() method must be public. You can’t define main() method as private
or protected or with no access modifier.
 This is because to make the main() method accessible to JVM. If you define
main() method other than public, compilation will be successful but you will get
run time error as no main method found.

8.Can we override main in Java ?

 No you can not override main method in Java, Why because main is static
method and in Java static method is bonded during compile time and you can
not
 override static method in Java.

9.Can we make main final in Java?

 you can make main method final in Java. JVM has no issue with that. Unlike
any final method you can not override main in Java.

10.Can we make main synchronized in Java?

 Yes, main can be synchronized in Java, synchronized modifier is allowed in


main signature and you can make your main method synchronized in Java.

You might also like