Esercizio errore esecuzione

di il
12 risposte

Esercizio errore esecuzione


class Plant {
String family;
Plant(String f){
family = f;
}
protected void stampa() {
System.out.println("Plant: "
+ family);
}
}
class Tree extends Plant {
public Tree(String f){
super(f);
}
public void stampa() {
System.out.println("Tree: "
+ family);
}
public static void main(String[] args){
Plant a = new Tree("Olive");
a.stampa();
}
}
Va in errore durante l'esecuzione e non capisco il perché, i casting sono corretti.

12 Risposte

  • Re: Esercizio errore esecuzione

    giulio0 ha scritto:


    Va in errore durante l'esecuzione e non capisco il perché, i casting sono corretti.
    Il codice compila correttamente e in esecuzione stampa Tree: Olive perché l'oggetto realmente istanziato è un Tree e quindi è il suo stampa() (override) che viene eseguito (e NON quello di Plant).
  • Re: Esercizio errore esecuzione

    Come fa ad andare in errore in esecuzione?

    Hai creato il "package plant" invece del "package tree"?
  • Re: Esercizio errore esecuzione

    @giulio0
    EVITA di sparare esercizietti di codice NON CORRETTAMENTE IDENTATO e con descrizioni del tipo

    "Va in errore durante l'esecuzione e non capisco il perché, i casting sono corretti."

    CHE ERRORE?

    Attualmente HAI PROBLEMI con la versione di Java che stai utilizzando perche' il codice e' corretto e funziona correttamente!

    E questo e' il SECONDO post associato ALLO STESSO PROBLEMA!
  • Re: Esercizio errore esecuzione

    migliorabile ha scritto:


    Attualmente HAI PROBLEMI con la versione di Java che stai utilizzando perche' il codice e' corretto e funziona correttamente!

    E questo e' il SECONDO post associato ALLO STESSO PROBLEMA!
    Ma penso che vada davvero in errore a runtime perché ha sbagliato a creare il progetto e il main è nella classe sbagliata.

    Comunque, giulio, posta tutto il codice di errore come ti dicono, altrimenti non si capisce nulla
  • Re: Esercizio errore esecuzione

    Potrebbe essere.

    Pero' c'e' un'unica classe "public" ed e' la classe che contiene il "main" e, plausibilmente, visto che e' alle prime armi, sta' utilizzando il package "" , quindi fino a li ci dovrebbe arrivare.

    Comunque, @giulio0, DESCRIVI DETTAGLIATAMENTE il problema e POSTA TUTTO IL CODICE non pezzettini, perche' non essendo grandi lettori della mente e non avendo la vista a raggi X a lunga distanza, NON ABBIAMO MODO di vedere dove TU stai pasticciando!
  • Re: Esercizio errore esecuzione

    A parte "posta tutto!" non ho capito se ho un problema io o il codice. Comunque quello che posto è quello che ho di fronte, cioè tutto il codice. Uso un progetto già usato per altri ed apro una classe ed incollo il codice dell'esercizio sulla nuova pagina, in alto alla prima riga mi dà un errore che faccio risolvere al compilatore cliccando sopra la lampadina.
  • Re: Esercizio errore esecuzione

    giulio0 ha scritto:


    A parte "posta tutto!" non ho capito se ho un problema io o il codice. Comunque quello che posto è quello che ho di fronte, cioè tutto il codice
    Il codice è a posto di per sé, il problema è tuo. Che IDE stai utilizzando? Su terminale l'errore di runtime qual è esattamente?
    Ad esempio quello che ho ipotizzato io ti darebbe su NetBeans:
    run:
    Errore: il metodo principale non è stato trovato nella classe plant.Plant. Definire il metodo principale come:
       public static void main(String[] args)
  • Re: Esercizio errore esecuzione

    Okok ho risolto scrivendo "package tree" in alto a tutto. Adesso va. Però in generale vorrei sapere quali sono gli errori di esecuzione che non vedrei in compilazione? Oltre il casting.
  • Re: Esercizio errore esecuzione

    giulio0 ha scritto:


    Okok ho risolto scrivendo "package tree" in alto a tutto.
    Il package di per sé non c'entra per il (buon) funzionamento. Se hai dovuto mettere la dichiarazione di package è perché presumibilmente sotto la "sources" avevi creato tu una cartella tree, quindi strutturalmente hai creato un package.

    giulio0 ha scritto:


    Adesso va. Però in generale vorrei sapere quali sono gli errori di esecuzione che non vedrei in compilazione? Oltre il casting.
    Scusa ma che domande sono ....
  • Re: Esercizio errore esecuzione

    andbin ha scritto:


    giulio0 ha scritto:


    Okok ho risolto scrivendo "package tree" in alto a tutto.
    Il package di per sé non c'entra per il (buon) funzionamento. Se hai dovuto mettere la dichiarazione di package è perché presumibilmente sotto la "sources" avevi creato tu una cartella tree, quindi strutturalmente hai creato un package.

    giulio0 ha scritto:


    Adesso va. Però in generale vorrei sapere quali sono gli errori di esecuzione che non vedrei in compilazione? Oltre il casting.
    Scusa ma che domande sono ....
    Scusa, non mi è chiara la risposta alla domanda sugli errori di compilazione...
  • Re: Esercizio errore esecuzione

    giulio0 ha scritto:


    andbin ha scritto:


    giulio0 ha scritto:


    Okok ho risolto scrivendo "package tree" in alto a tutto.
    Il package di per sé non c'entra per il (buon) funzionamento. Se hai dovuto mettere la dichiarazione di package è perché presumibilmente sotto la "sources" avevi creato tu una cartella tree, quindi strutturalmente hai creato un package.

    giulio0 ha scritto:


    Adesso va. Però in generale vorrei sapere quali sono gli errori di esecuzione che non vedrei in compilazione? Oltre il casting.
    Scusa ma che domande sono ....
    Scusa, non mi è chiara la risposta alla domanda sugli errori di compilazione...
    Come si fa a rispondere? E' troppo vaga come domanda.

    Comunque l'eccezione a runtime più comune in Java è la NullPointerException
    
    public static void main(String[] args){
    Plant a = null;
    a.stampa();
    }
    
  • Re: Esercizio errore esecuzione

    giulio0 ha scritto:


    Scusa, non mi è chiara la risposta alla domanda sugli errori di compilazione...
    Esistono centinaia di eccezioni ... mica pretendi di conoscerle tutte o che qualcuno te le elenchi tutte(?)

    Ci sono eccezioni che sono tipicamente lanciate dalla JVM e altre che sono invece lanciate in maniera "programmatica", cioè con del codice apposito (if qualcosa lancia X).
    Basta che le studi man mano ...
Devi accedere o registrarti per scrivere nel forum
12 risposte