Principiante con problemi con interazioni fra classi

di il
4 risposte

Principiante con problemi con interazioni fra classi

Buongiorno a tutti,
mi chiamo Matteo e sono nuovo del forum.
Da alcuni giorni ho iniziato a studiare il linguaggio Java sul testo "Head First Java"; è un po' datato ma in rete era considerato uno dei migliori per partire da zero (magari se poteste dirmi se lo ritenete un libro valido)
Ho iniziato a fare i primi esercizi con all'interno almeno un paio di classi e in più occasioni, al momento del lancio della classe contenente il main method, mi appare sempre lo stesso errore di cui, a seguire, vi metto un esempio:

Exception in thread "main" java.lang.IllegalAccessError: failed to access class DVDPlayer from class DVDPlayerTestDrive (DVDPlayer is in unnamed module of loader 'app'; DVDPlayerTestDrive is in unnamed module of loader com.sun.tools.javac.launcher.Main$MemoryClassLoader @6dde5c8c)
at DVDPlayerTestDrive.main(DVDPlayerTestDrive.java:3)

considerate che le due classi, entrambe salvate all'interno della stessa cartella, vengono in precedenza compilate senza alcun messaggio di errore.

Sperando di essere stato chiaro (considerate che sono veramente all'inizio), ringrazio e saluto.

4 Risposte

  • Re: Principiante con problemi con interazioni fra classi

    Sai gia' programmare in un'altro linguaggio di programmazione?

    In ogni caso, inizia con esercizi MOOOOOOOLTO piu' semplici.

    Ho visto "Head First Java": lascialo perdere, non mi piace per niente. Non sembra per niente un libro ""serio"".

    Moooooolto meglio "Thinking Java". Approccio piu' ""professionale"".

    Dalla versione 1.2, TUTTE le versionidi Java sono RETROCOMPATIBILI. Le nuove versioni contengono NOVITA', ma la struttura base del lingiaggio E' SEMPRE LA STESSA. Quindi, studiare si un libro ""vecchio"" NON E' ASSOLUTAMENTE un problema
  • Re: Principiante con problemi con interazioni fra classi

    Ciao e grazie della celere risposta.
    Per quanto riguarda esperienze precedenti di programmazione, ho un diploma vecchio di 25 anni da perito informatico, poi ho fatto tutt'altro, però credo mi aiuti a capire quello di cui si parla e come funziona in linea generale un programma (parliamo comunque di programmazione in turbo pascal e un po' di assembler, quindi no programmazione per oggetti}.
    Rispetto al testo utilizzato, ti ringrazio per il suggerimento che prenderò in seria considerazione.
    Rispetto all'errore che segnalavo, sapresti dirmi qualcosa, giusto per farmi un'idea?
    Grazie
  • Re: Principiante con problemi con interazioni fra classi

    Cosi, su due piedi, direi che c'e' qualche ""casino"" con package e nome delle classi.

    RICORDA:

    1) OGNI classe e' contenuta in UN package.
    2) SE non indichi il package, viene usato il package il cui nome e' la STRINGA VUOTA (il ROOT package)
    3) c'e'una corrispondenza 1:1 tra package, nome della classe E directory e file.

    Ad esempio, SE "<PATH>/src" E' la directory che conterra i tuoi sorgenti, tu DEVI (E' OBBLIGATORIO) avere:

    a) la classe PUBBLICA "Pinco" in un file "<PATH>/src/Pinco.java": NOTA il nome della classe ed il nome del file che DEVONO ESSERE GLI STESSI
    b) la classe PUBBLICA "mio.package.Pinco" in un file "<PATH>/src.mio/package/Pinco.java": NOTA il nome delle directory e dei componenti del package ed il nome della classe ed il nome del file che DEVONO ESSERE GLI STESSI

    Poi ci sono un sacco di altre regole relative a varie altre tipologie di classi (protette, private, anonime, statiche, ecc...)


    SE non conosci i termini, o non hai capito quello che ho scritto, ecco, allora e' il caso di studiare di piu', PRIMA di scrivere anche una sola riga di codice.


    Inizia con cose MOOOOOOOLTO semplici: UNA classe, QUALCHE metodo (che sono come le funzioni a cui viene passato AUTOMATICAMENTE un PUNTATORE ad un oggetto, che poi e' l'oggetto a cui il ""metodo"" e' attaccato e che e' memorizzato nel ""parametronascosto "" "this")

    Java, come sintassi, e' simile al C, e come strutture di controllo hai le stesse del Pascal.
    NON C'e' il goto, ma ci sono un sacco di alternative che possono essere usate allo stesso modo (vabbe, 2: break e continue)
    Un oggetto lo puoi pensare come una versione piu' evoluta di una struttura. C'e' moooolto di piu', ovviamente, ma per iniziare il modo piu' semplice e' ragionare a partire da concetti che conosci gia'.
  • Re: Principiante con problemi con interazioni fra classi

    Ok. Molte grazie per le risposte, che prenderò in serissima considerazione, e la disponibilità.
    Ciao.
Devi accedere o registrarti per scrivere nel forum
4 risposte