Problema con metodo principale

di il
4 risposte

Problema con metodo principale

Salve a tutti,
ho iniziato da poco a studiare il Java usando il libro "Manuale di Java 8". Devo dire che ho un po' di confusione in testa, e quindi cado facilmente in errori a cui non riesco a dare spiegazioni.
Per esercizio dovevo compilare un programma, la soluzione fornisce il seguente codice
public class Persona {
public String nome;
public String cognome;
public int eta;
public String dettagli() {
return nome + " " + cognome + " anni " + eta;
}
}
Il codice mi è chiaro, per quanto abbia fatto degli errori cercando di risolvere l'esercizio. Il problema è quando lo inserisco nel cmd (sto usando ancora il Blocco Note), e inserendo il comando "java Persona" resituisce il seguente errore
"Errore: il metodo principale non è stato trovato nella classe Persona. Definire il metodo principale come:
public static void main(String[] args)
altrimenti una classe applicazione JavaFX deve estendere javafx.application.Application"
Mi è sembrato strano, e sono andato a controllare esempi precedenti proposti dal libro, e a riprodurli. Viene fuori sempre questo errore che prima non riscontravo. Qualcuno è in grado di aiutarmi a capire bene cosa accade?

4 Risposte

  • Re: Problema con metodo principale

    Saponetta ha scritto:


    Il problema è quando lo inserisco nel cmd (sto usando ancora il Blocco Note), e inserendo il comando "java Persona" resituisce il seguente errore
    "Errore: il metodo principale non è stato trovato nella classe Persona. Definire il metodo principale come:
    public static void main(String[] args)

    Qualcuno è in grado di aiutarmi a capire bene cosa accade?
    Quella classe Persona è solo una classe che modella una persona e non avendo il "main" non è da intendere come punto di avvio di una applicazione. Cioè, si presuppone che ci sia un'altra classe dotata del "main" che presumibilmente andrà ad usare (direttamente o indirettamente) in qualche modo la classe Persona.
  • Re: Problema con metodo principale

    Quella classe Persona è solo una classe che modella una persona e non avendo il "main" non è da intendere come punto di avvio di una applicazione. Cioè, si presuppone che ci sia un'altra classe dotata del "main" che presumibilmente andrà ad usare (direttamente o indirettamente) in qualche modo la classe Persona.
    Innanzitutto ti ringrazio per aver risposto.
    Credo di aver capito, correggimi se sbaglio. Do il comando "javac Persona.java", e viene creata una classe. Questa qui non deve essere lanciata, perché la sua utilità è quella di esistere come definizione di un qualcosa che verrà poi ripresa, magari, in un'applicazione (ad es. Prova1.java). Quest'applicazione per essere lanciata dovrà necessariamente contenere il metodo "main". Giusto?
  • Re: Problema con metodo principale

    Saponetta ha scritto:


    Credo di aver capito, correggimi se sbaglio. Do il comando "javac Persona.java", e viene creata una classe. Questa qui non deve essere lanciata, perché la sua utilità è quella di esistere come definizione di un qualcosa che verrà poi ripresa, magari, in un'applicazione (ad es. Prova1.java). Quest'applicazione per essere lanciata dovrà necessariamente contenere il metodo "main". Giusto?
    Esatto. Una applicazione può avere quante classi vuoi e ti servono per rappresentare le varie entità. Poi almeno una (e tipicamente una sola nella applicazione) ha il main() per poter avviare la applicazione.
    Poi chiaramente quali/quante classi definire spetta a te basandoti anche sui principi della Object Oriented Programming.
  • Re: Problema con metodo principale

    Nel metodo main() potrai inoltre creare istanze (oggetti) di questa classe...
    ad es:
    Persona Paolo = new Persona();
    e fargli fare qualcosa:
    Paolo.dettagli();
Devi accedere o registrarti per scrivere nel forum
4 risposte