Ok, quindi un file sorgente Java deve avere almeno una classe pubblica e il file deve essere chiamato "class-name.java". Giusto.Compilazione Java di un file .java senza una classe pubblica
Quindi, se ho una classe, allora la seguente sarebbe compilare:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Ma ciò che mi bug è che se tolgo il modificatore di accesso 'pubblico' dal codice di cui sopra, il codice viene compilato ancora. Io proprio non capisco. Rimuoverlo, il codice si presenta come:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Nel codice di cui sopra, dal momento che ho rimosso il modificatore di accesso 'pubblico', la mia classe ha di default o un pacchetto accesso privato, vale a dire che non può essere l'accesso al mondo esterno , solo dall'interno del pacco.
Quindi la mia domanda è, come viene compilato il codice sopra? Il file HelloWorld.java in questo caso non ha una classe HelloWorld "pubblica" (solo un HelloWorld.class package-private) e quindi per la mia comprensione non dovrebbe essere compilata.
Apprezzo il tuo tempo nel rispondere alle mie domande!
saluti, anon
* "il file di origine java deve avere almeno una classe pubblica" * Uh no, [non è necessario avere nulla.] (Http://stackoverflow.com/q/7791487/1134080) – ADTC