Errore public class

di il
3 risposte

Errore public class

Premetto che sono alle prime armi con java, e quindi chiedo scusa per la domanda probabilmente stupida, comunque, stò seguendo la guida Claudio De Sio Cesari --- Object Oriented && Java 5 (II Edizione) e scrivendo i programmi d'esempio mi sono imbattuto in un errore, che non capisco, se io scrivo:
Nome file:esercizio2a.java

public class NumeroIntero
 {
  public int numeroIntero;
  public NumeroIntero(int numero)
   {
    numeroIntero = numero;
   }
  public void stampaNumero()
   {
    System.out.println(numeroIntero);
   }
 }

public class esercizio2a
 {
  public static void main(String args[])
   {
    NumeroIntero numero1 = new NumeroIntero(5);
    NumeroIntero numero2 = new NumeroIntero(10);
    numero1.stampaNumero();
    numero2.stampaNumero();
   }
 }
e lo compilo con il comando

javac esercizio2a.java
mi viene mostrato il seguente errore

esercizio2a.java:1: class NumeroIntero is public, should be declared in a file name NumeroIntero.java 
public class NumeroIntero
          ^
1 error
Il messaggio mi informa che la classe NumeroIntero è pubblica e dev'essere dichiarata nel file NumeroIntero.java, bene, a questo punto vi chiedo il perchè, cioè nella guida me la segna come public, non so se è un errore, ma da quando ho potuto constatare togliendo il public funziona correttamente

3 Risposte

  • Re: Errore public class

    L'errore sta nel fatto che una classe pubblica deve appartenere ad un file il cui nome deve essere lo stesso della classe...

    la classe numeroIntero deve essere salvata in un file con il nome numeroIntero.java

    (ricorda che c'è differenza tra maiuscole e minuscole)
  • Re: Errore public class

    Allora la domanda che mi viene adesso da fare è dunque, ogni classe deve avere un suo file, oppure posso dichiarare anche classi private, che presumo abbiano visibilità all'interno del file o del packeg in cui sono contenute, ho capito bene?
  • Re: Errore public class

    Hotto ha scritto:


    Allora la domanda che mi viene adesso da fare è dunque, ogni classe deve avere un suo file, oppure posso dichiarare anche classi private, che presumo abbiano visibilità all'interno del file o del packeg in cui sono contenute, ho capito bene?
    Ciao, non e uno a uno puoi avere file con dichiarate piu classi
    File Foo.java E valido
    
    public class Foo{
    
     class Bar{}
    
     static class BarOne{}
    }
    
    class ABC{}
    
Devi accedere o registrarti per scrivere nel forum
3 risposte