L'astrazione dei dati in java è il concetto di creare tipi di dati complessi e selezionare solo le operazioni rilevanti per interagire con quel tipo di dati. L'astrazione è un componente fondamentale della programmazione orientata agli oggetti
Ogni linguaggio OOP ha il suo modo di implementare l'astrazione. L'idea generale dietro l'astrazione è quella di selezionare solo le proprietà importanti di un oggetto rilevante per l'attività corrente nascondendo quelle non importanti.
In Java, l'astrazione dei dati viene implementata utilizzando la parola chiave abstract quando si dichiara una classe o un metodo. Una classe astratta in Java è un tipo speciale di classe che non può essere istanziato.
Nota che l'astrazione e l'incapsulamento non sono la stessa cosa, anche se sono facilmente confusi. L'incapsulamento è il concetto di avvolgere insieme proprietà e metodi.