Salve a tutti, sono nuovo nell'ambito della programmazione in Java, per ora si può dire che non ho neanche scalfito la superficie. Ho svolto un piccolo esercizio, per la cui banalità mi scuso in anticipo, abbiate pazienza:
Viene fornita la seguente classe
public class numeroIntero {
public int numeroIntero;
public void stampaNumero() {
System.out.println(numeroIntero);
}
}
Il compito consiste nell'istanziare almeno due oggetti dalla classe
numeroIntero, aggiungendo un costruttore alla classe
numeroIntero che inizializzi la variabile di istanza. La mia prima risoluzione dell'esercizio è stata la seguente:
public class numeroIntero {
public int numeroIntero;
//aggiungo un costruttore che inizializzi la variabile di istanza
public numeroIntero(int x){
numeroIntero = x;
}
public void stampaNumero() {
System.out.println(numeroIntero);
}
}
public class istanziaOggetto{
public static void main(String[ ] args){
numeroIntero x = new numeroIntero(5);
numeroIntero y = new numeroIntero(10);
x.stampaNumero();
y.stampaNumero();
}
}
Qui ho preso il primo scivolone, perchè in fase di esecuzione (dal prompt dei comandi) viene evidenziato che la classe numeroIntero è pubblica e dovrebbe essere istanziata in un file numeroIntero.java. Facendo un po' di ricerca mi è parso di capire che in un singolo file.java non può esserci più di una classe pubblica (quindi non vale anche per i metodi o i costruttori giusto?). Il motivo, se qualcuno può mi corregga, è che la JVM cerca il metodo main per poter eseguire il programma, però si aspetta di trovarlo solo e soltanto nella classe con modificatore public ? Inoltre in un programma Java più avanzato mi aspetto ci siano più classi nello stesso file, quindi se solo una di queste può essere pubblica, significa semplicemente che le altre saranno accessibili solo e soltanto in quel file dove sono contenute ? Cioè, non le posso importare ?