la principale méthode que final en java

J'ai vu ce code dans l'un des examens de certification:

public class SimpleClass 
{
    int num;
    final static void main(final String args[])
    {
        String s1="new";
        String s2="String";
        String s3="Creation";
        System.out.println(s1+s2+s3);
    }
}

Je sais qu'au final les méthodes sont celles qui ne sont pas possible de déroger. Je sais aussi que, si l'habitude de la signature de la main méthode est modifiée, elle sera traitée comme toute autre méthode ordinaire par la JVM, et non pas comme main().

Cependant, les options qui me sont:

1>  Code  won't  compile
2>  Code  will  throw  an  exception
3>  will  print  newStringCreation.

Il n'est pas possible d'exécuter ce programme sur l'IDE eclipse. Quelqu'un peut-il expliquer ce que devrait être la réponse, et pourquoi?

Ok permettez-moi de mettre ma question comme celle - ci, Lorsque j'exécute mon programme, ce qui va arriver? Laquelle des 3 options ci-dessus devrais-je choisir?

Méchant question. final ne devrait pas d'importance. Mais main est pas public, ce qui permettrait de m'inquiéter.
Oui, le code de la compilation, il juste ne fonctionnera pas.
Ainsi, définir "exécuter"; si cela signifie que vous lancez avec java SimpleClass puis il va lever une exception, puisque comme vous l'avez mentionné vous-même, il est, en fait, pas de main() à exécuter. Aussi, vous ne pouvez pas remplacer static méthodes en aucune manière, la forme ou la forme, de sorte que les déclarant final est redondante.
Déclarant méthode statique n'EST PAS redondant. Vous pouvez masquer des méthodes statiques dans les sous-classes, si vous n'avez pas besoin de les déclarer comme définitif dans la super-classe.
Avez-vous essayez de compiler et d'exécuter vous-même? Que voulez-vous dire par "Il n'est pas possible d'exécuter ce programme sur l'IDE eclipse."? Ce qui se passe lorsque vous essayez? Avez-vous essayer de l'exécuter sur la ligne de commande?

OriginalL'auteur Gpar | 2014-11-03