In ogni tutorial Java la prima cosa che si spiega sono proprio gli oggetti, a causa della natura stessa del linguaggio. Infatti è impossibile programmare in Java senza conoscere cosa sono gli oggetti. Alla base di tutto c'è il concetto di ADT ( abstract data type - tipo di dato astratto ). Un ADT è un insieme di funzioni e di variabili alle quali si può accedere unicamente tramite le funzioni. Gli oggetti partono proprio da questo concetto, infatti ogni oggetto ha delle caratteristiche e dei comportamenti che agiscono su di esse. Effettivamente se creiamo l'oggetto animale una delle sue caratteristiche sarà lo stomaco pieno o vuoto, ma non si può infilare il cibo direttamente nello stomaco fino a riempirlo, ma tramite il comportamento 'mangiare' lo stomaco si riempirà. Ora per trasformare il concetto astratto di oggetto in concetto programmativo si cambiano due nomi:
'Caratteristiche' diventa 'Variabili' e 'Comportamenti' diventa 'Funzioni'.
Programmando non si andrà a creare un oggetto in particolare, ma si creerà una classe di oggetti, per esempio 'animale'. Poi quando una variabile oggetto appartenente alla classe 'animale' verrà definita per esempio come specie 'Cane' e 'stomaco 'vuoto' allora sarà un cane affamato.
La creazione di una variabile oggetto di una certa classe si chiama 'Creazione di un'istanza di classe' o più semplicemente solo istanza.