CodeGym
Promozione
Learning
Corsi
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Tema chiaro

Lezioni

  • Recensioni
  • Chi siamo
Inizia
Inizia a imparare
Start learning now
  • I miei progressi
  • Corsi
  • Mappa Quest
  • Lezioni
  • Interfacce della libreria standard: Comparable, Serializable e altro

    JAVA 25 SELF
    Livello 21,Lezione 4
    Analizziamo le interfacce chiave della libreria standard di Java e a cosa servono nei progetti reali: ordinamento naturale tramite Comparable<T> e regole personalizzate con Comparator<T>, serializzazione degli oggetti con Serializable, gestione sicura delle risorse tramite AutoCloseable, iterazione delle collection grazie a Iterable<T>, nonché le interfacce marker Cloneable e i listener di eventi. Con esempi ricchi vedremo le firme corrette dei metodi ( compareTo, compare, close, iterator) e gli errori tipici da evitare.
    Disponibile
  • Record: sintassi, vantaggi

    JAVA 25 SELF
    Livello 22,Lezione 0
    Analizziamo le classi record in Java 16+: come dichiararle, cosa genera il compilatore «sotto il cofano», perché sono più comode dei normali DTO e dei value object, e quando conviene usarle. Meno boilerplate, più sicurezza: immutabilità, equals/hashCode/toString corretti e praticità d’uso nelle collezioni.
    Disponibile
  • Immutability — immutabilità delle classi record

    JAVA 25 SELF
    Livello 22,Lezione 1
    Approfondiamo l’immutabilità (immutability) delle classi record in Java: perché il loro stato non può essere modificato dopo la creazione, quali vantaggi offre nel multithreading e nell’uso con le collezioni, in cosa i record differiscono dalle classi tradizionali e come proteggersi correttamente dalle «perdite di mutabilità» tramite array e collezioni. Confronteremo il comportamento con le classi mutabili, analizzeremo esempi pratici ed errori tipici.
    Disponibile
  • equals, hashCode, toString: generazione automatica

    JAVA 25 SELF
    Livello 22,Lezione 2
    Capiremo perché gli oggetti hanno bisogno dei metodi equals, hashCode e toString, perché la loro implementazione manuale nelle classi “normali” porta a codice ripetitivo e incline agli errori, e come le classi record generano automaticamente versioni corrette. Vedremo l’impatto su collezioni e debug, quando e come è opportuno ridefinire il comportamento standard, e quali errori si incontrano più spesso.
    Disponibile
  • Record con metodi

    JAVA 25 SELF
    Livello 22,Lezione 3
    Impariamo ad arricchire le classi record con metodi, usare costruttori compatti per la validazione e la normalizzazione dei dati, analizziamo le limitazioni dei record, l’implementazione delle interfacce e tecniche pratiche. Alla fine — una tabella «cosa si può/non si può» e l’analisi degli errori tipici.
    Disponibile
  • Differenze tra record e class, limitazioni dei record

    JAVA 25 SELF
    Livello 22,Lezione 4
    Differenze chiave tra classi tradizionali e classi record in Java: immutabilità, ereditarietà, generazione automatica di equals/hashCode/toString, costruttori e ambito d’uso. Analizzeremo le limitazioni dei record, dove offrono il massimo vantaggio (DTO, Value Object, chiavi delle collezioni), quando è preferibile una class tradizionale e quali errori si commettono più spesso.
    Disponibile
  • Errori nella dichiarazione di classi e oggetti

    JAVA 25 SELF
    Livello 23,Lezione 0
    Errori comuni all’inizio in Java: i modificatori di accesso delle classi, la corrispondenza tra il nome del file e la classe public, le parentesi graffe e il posizionamento dei membri della classe, l’inizializzazione degli oggetti, i costruttori e la creazione superflua di istanze. Vedremo le best practice e costruiremo un mini‑esempio «Biblioteca», e alla fine analizzeremo i messaggi di errore tipici.
    Disponibile
  • Errori con l'ereditarietà e il sovraccarico dei metodi

    JAVA 25 SELF
    Livello 23,Lezione 1
    Analizziamo errori comuni in Java legati a ereditarietà e sovraccarico dei metodi: chiamata del costruttore della classe base tramite super(...), limitazioni di classi final e metodi final, violazione del principio di Liskov, trappole del sovraccarico (autoconversione dei tipi, chiamate ambigue, tentativi di distinguere solo per tipo di ritorno), oltre a best practice ed esempi funzionanti con il polimorfismo.
    Disponibile
  • Errori con i modificatori di accesso

    JAVA 25 SELF
    Livello 23,Lezione 2
    Analizziamo passo dopo passo i livelli di accesso in Java e gli errori tipici: modificatori dimenticati, violazione dell’incapsulamento, particolarità di protected al di fuori del package, uso corretto di getter/setter e restituzione di copie delle collezioni. Fissiamo le buone pratiche con esempi pratici.
    Disponibile
  • Problemi del polimorfismo e delle astrazioni

    JAVA 25 SELF
    Livello 23,Lezione 3
    Analizziamo polimorfismo e astrazioni in Java nella pratica: come un’unica interfaccia può generare comportamenti diversi, errori frequenti (downcasting senza verifica, chiamata di metodi assenti nel tipo base, astrazioni “vuote”, gerarchie profonde), nonché le migliori pratiche d’uso di classi astratte, interfacce e dell’annotazione @Override nell’esempio didattico “Biblioteca”.
    Disponibile
  • Stile e leggibilità del codice, code conventions

    JAVA 25 SELF
    Livello 23,Lezione 4
    Perché agli sviluppatori Java serve uno stile di codice uniforme e come rispettarlo: analizzeremo gli errori di formattazione più tipici, le convenzioni di base (rientri, naming, ordine dei membri della classe), mostreremo esempi di refactoring e strumenti di autoformattazione e di analisi statica, affinché il codice sia leggibile e manutenibile.
    Disponibile
  • Gerarchia delle eccezioni in Java

    JAVA 25 SELF
    Livello 24,Lezione 0
    In questa lezione analizziamo le basi del sistema di eccezioni di Java: la classe radice Throwable, le differenze tra Exception e Error, nonché la distinzione tra eccezioni «controllate» e «non controllate». Vedrete un diagramma e una tabella delle differenze, esempi di codice con try- catch e throws, scoprirete cosa conviene catturare e cosa no, e passeremo in rassegna gli errori tipici nella gestione delle eccezioni.
    Disponibile
  • 1
  • ...
  • 10
  • 11
  • 12
  • 13
  • 14
  • ...
  • 30
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Lingua dell'interfaccia
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ்
Italiano
Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym