Home >Java >javaTutorial >10 classic Java main method interview questions

10 classic Java main method interview questions

伊谢尔伦
伊谢尔伦Original
2016-11-30 10:58:381415browse

The following are what the author considers to be more classic interview questions about the Java main method. Rather than being Java interview questions, they are actually some of the most basic knowledge questions about Java. I would like to share them with you. If there are any errors, please point them out.

10 classic Java main method interview questions

1. How to define a class without using the main method?

 No, we cannot run Java classes without main method.

 Prior to Java 7, you could run Java classes by using static initialization. However, starting from Java 7 this doesn't work.

 2.The parameter required by the main() method is not a string array?

 No, the parameter of the main() method must be a string array.

 However, when introducing variable parameters, you can pass string type variable parameters as parameters to the main() method. The variable parameter must be an array.

package com.instanceofjava;
public class MainMethod
{
public static void main(String args[])
{
}
}

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

 No, the return type of the main() method can only be empty. Any other type is unacceptable.

package com.instanceofjava;
public class A
{
public static int main(String[] args)
{
 return 1;    //run time error : No main method found
}
}

4.Why does the main() method have to be static?

 The main() method must be static.

 If main() is allowed to be non-static, then the JVM has to instantiate its class when the main method is called.

 When instantiating, you have to call the constructor of the class. If the constructor of this class has parameters, then ambiguity will arise.

 For example, in the following program, what parameters does the JVM pass when instantiating class "A"?

package com.instanceofjava;
public class A
{
public MainMethod(int i)
{
//Constructor taking one argument
}
 public void main(String[] args)
{
//main method as non-static
}

 5. Can we declare the main() method as non-static?

 No, the main() method must be declared static so that the JVM can call the main() method without instantiating its class.

 If you remove the "static" statement from the main() method, although the compilation can still be successful, it will cause the program to fail at runtime.

package com.instanceofjava;
public class A
{
public void main(String[] args)
{
System.out.println("indhu");         //Run time error
}
}

 6. Can we overload the main() method?

 Yes, we can overload the main() method. A Java class can have any number of main() methods.

 In order to run a java class, the main() method of the class should have a declaration such as "public static void main(String[] args)". If you make any changes to this declaration, compilation will succeed. However, the Java program cannot be run. You will get runtime error because main method cannot be found.

package com.instanceofjava;
public class A
{
public static void main(String[] args)
{
System.out.println("Indhu");
 }
void main(int args)
{
System.out.println("Sindhu");
}
long main(int i, long d)
{
System.out.println("Saidesh");
return d;
}
}

 7. Can we declare the main() method as private or protected, or without access modifiers?

 No, the main() method must be public. You cannot define the main() method as private and protected, nor can you use access modifiers.

 This is to allow the JVM to access the main() method. If you do not define the main() method as public, although the compilation will succeed, you will get a runtime error because the main method cannot be found.

package com.instanceofjava;
public class A
{
private static void main(String[] args)
{
//Run time error
}
}

8. Can we override the main method in Java?

 No, you cannot override the main method in Java. This is because the main method is a static method, and in Java static methods are combined at compile time, so you cannot override static methods in Java.

 9. Can we terminate the main method in Java?

  You can terminate the main method in Java. The JVM has no problem with this.

 10. Can we synchronize the main method in Java?

 Yes, the main method can be synchronized in Java. The synchronized modifier is allowed to be used in the declaration of the main method, so that the main method can be synchronized in Java.


Original English text: Java Interview Questions On main() Method




Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn