Sappiamo che parte di questa sintassi non verrà compilata, in particolare la riga in cui mi riferisco esplicitamente al nome della classe per una variabile.
class Main {
static String Main.s1 ="output"; //won't compile
static String s2 = "output";
public static void main(String... s1) {
System.out.println("output");
}
}
Il Main.s1 ="output";
fornisce un errore del compilatore. Ma sappiamo che il seguente è ok:
class Main {
static String s2 = "output";
public static void main(String... s1) {
System.out.println(Main.s2);
}
}
Allo stesso modo, anche il seguente è ok.
class Main {
static String s2 = "output";
public static void main(String... s1) {
Main.s2 = "baz";
System.out.println(Main.s2);
}
}
È solo alla dichiarazione che i compilatori si lamentano. Ho letto che ci sono queste regole per gli identificatori in Java
- le parole riservate non possono essere utilizzate. non possono iniziare con una cifra ma Le cifre
- possono essere utilizzate dopo il primo carattere (ad esempio, nome1, n2ame lo sono valido). possono iniziare con una lettera, un carattere di sottolineatura (ad es. "_") o a simbolo del dollaro (ad es. "$").
- non puoi usare altri simboli o spazi (ad es. "%", "^", "&", "#").
Quindi apparentemente non è legale usare un punto in un identificatore. Sono d'accordo è inutile, ma c'è un sacco di altro codice legale non necessario.
Qualche motivo per cui il punto è illegale in un identificatore Java?