Classe privata

di il
3 risposte

Classe privata

Ciao a tutti, sono alle prime armi con java, vorrei chiedervi un informazione.... come si crea una classe privata, da importare nella classe pubblica principale con eclipse???

3 Risposte

  • Re: Classe privata

    Ciao, ad una classe puoi applicare il modificatore di accesso private solo se è un inner class, ovvero una classe dichiarata all'interno di un altra classe:

    package x.y.z;

    public class A {

    private class B{}

    }

    in caso contrario gli unici modificatori di accesso(public,protected,private,default) consentiti per una classe sono il default

    class A{
    ..
    }

    o public:

    public class A{
    ...
    }

    quando usi il default la classe è visibile soltanto alle classi dello stesso package.Quindi se la tua classe è in un package differente da quello della classe principale ma la vuoi importare in quest'ultima, la devi dichiarare public , altrimenti se sono all'interno dello stesso package puoi usare il default per impedire che sia visibile alle classi di altri package.
  • Re: Classe privata

    Allora ti spiego....io ho un programma che mi gestisce un database, ti faccio vedere il codice


    private int ultimoElementoIngredienti() {
    Statement stm3 = con.createStatement();
    // Questa è la funzione che ti dicevo!
    ResultSet rs3 = stm3.executeQuery("SELECT MAX(id_ingrediente) FROM Ingredienti");
    int ultima_riga = -1;
    while(rs3.next()) {
    // Questa è la colonna restituita, quindi dobbiamo leggere dentro di lei.
    ultima_riga = Integer.parseInt(rs3.getString("MAX(id_ingrediente)"));
    }
    return ultima_riga;
    }

    ora devo inserire questa funzione privata, nella mia classe pubblica principale dove ho richiamato questa funzione...cosa dovrei fare??? uso eclipse
  • Re: Classe privata

    Non so se ho capito bene ma provo a rispondere.Assumo che la tua classe principale sia quella che contiene il metodo main.Allora il tuo è un metodo privato ed in quanto tale è visibile solo all'interno della classe in cui è dichiarato, quindi per usarlo all'interno della classe principale va dichiarato internamente ad essa.Adesso chiamando MiaClasse la tua classe principale, puoi fare cosi:

    public class MiaClasse{

    public static void main(String[] args){
    ....
    int risultato = ultimoElementoIngredienti();
    ....
    }

    private static int ultimoElementoIngredienti() {
    Statement stm3 = con.createStatement();
    // Questa è la funzione che ti dicevo!
    ResultSet rs3 = stm3.executeQuery("SELECT MAX(id_ingrediente) FROM Ingredienti");
    int ultima_riga = -1;
    while(rs3.next()) {
    // Questa è la colonna restituita, quindi dobbiamo leggere dentro di lei.
    ultima_riga = Integer.parseInt(rs3.getString("MAX(id_ingrediente)"));
    }
    return ultima_riga;
    }
    }

    oppure:

    public class MiaClasse{

    public static void main(String[] args){
    ....
    MiaClasse miaClasse = new MiaClasse();
    int risultato = miaClasse.ultimoElementoIngredienti();
    ....
    }

    private int ultimoElementoIngredienti() {
    Statement stm3 = con.createStatement();
    // Questa è la funzione che ti dicevo!
    ResultSet rs3 = stm3.executeQuery("SELECT MAX(id_ingrediente) FROM Ingredienti");
    int ultima_riga = -1;
    while(rs3.next()) {
    // Questa è la colonna restituita, quindi dobbiamo leggere dentro di lei.
    ultima_riga = Integer.parseInt(rs3.getString("MAX(id_ingrediente)"));
    }
    return ultima_riga;
    }
    }

    e questo lo puoi fare in qualsiasi ide non è una cosa che dipende dall'ambiente di sviluppo.
Devi accedere o registrarti per scrivere nel forum
3 risposte