ho visto questo codice in uno degli esami di certificazione:principale metodo come definitiva in java
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);
}
}
so che i metodi finali sono quelli che non sono possibili per ignorare. So anche che se la solita firma del metodo main
viene modificata, sarà trattata come qualsiasi altro metodo ordinario dalla JVM e non come main()
.
Tuttavia, le opzioni date a me erano:
1> Code won't compile
2> Code will throw an exception
3> will print newStringCreation.
Non è possibile eseguire questo programma su IDE Eclipse. Qualcuno può spiegare quale dovrebbe essere la risposta e perché?
Ok lasciami fare la mia domanda in questo modo - Quando eseguirò il mio programma, cosa accadrà? Quale delle 3 opzioni di cui sopra dovrei scegliere?
Nasty question. 'finale' non dovrebbe avere importanza. Ma anche "main" non è pubblico, il che mi preoccuperebbe. – Thilo
Sì, il codice verrà compilato, non verrà eseguito. – Davio
Bene, definisci "esegui"; se questo significa che lo avvii con 'java SimpleClass', allora genererà un'eccezione, poiché come hai detto tu stesso, non c'è, in effetti,' main() 'da eseguire. Inoltre, non è possibile sovrascrivere i metodi 'static' in alcun modo, forma o forma, quindi dichiararli' final' è ridondante. – fge