Home >Java >javaTutorial >Detailed arrangement of main method in Java

Detailed arrangement of main method in Java

黄舟
黄舟Original
2017-09-08 10:01:102343browse

This article mainly introduces the detailed and related information of Java main method interview questions. Here we introduce the methods of 10 classic interview questions. Friends in need can refer to

Java main method Detailed compilation of interview questions

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

No, we cannot run a Java class without the main method.

Before 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?

main() method must be static.

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

When instantiating, the constructor of the class must be called. 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.

The above is the detailed content of Detailed arrangement of main method in Java. For more information, please follow other related articles on the PHP Chinese website!

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