Esta é a pergunta que enfrentei na minha entrevista.
Por que o método main em Java é chamado de public static void main (String [] args)?
Responda:
1. main () deve ser declarado público porque é invocado pela JVM sempre que a execução do programa é iniciada. A JVM não pertence ao nosso pacote de programas.
Para acessar o main fora do pacote, temos que declará-lo como público.Se o declararmos como algo diferente de público, ele mostra um erro de tempo de execução, mas não erro de tempo de compilação
2. main () deve ser declarado como estático, porque se um método for declarado como estático, podemos chamar esse método fora da classe usando ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
A JVM primeiro carregará a classe Test e verificará os argumentos da linha de comando e chama o método principal como Test.main ();
3. main () deve ser declarado como nulo main () porque a JVM não espera nenhum valor de main (), portanto, deve ser declarado como nulo.
Se outro tipo de retorno for fornecido, será um RunTimeError, ou seja, NoSuchMethodFoundError.
4. main () deve ter argumentos String como matrizes porque a JVM chama o método principal passando o argumento da linha de comando. Como eles são armazenados no objeto da matriz de strings, ele é passado como argumento para main ().