Abstrakcja danych w języku Java to koncepcja tworzenia złożonych typów danych i wybierania tylko odpowiednich operacji w celu interakcji z tym typem danych. Abstrakcja jest podstawowym elementem programowania obiektowego
Każdy język OOP ma własny sposób implementacji abstrakcji. Ogólną ideą abstrakcji jest wybranie tylko ważnych właściwości obiektu, istotnych dla bieżącego zadania, podczas ukrywania nieistotnych.
W Javie abstrakcja danych jest zaimplementowana za pomocą słowa kluczowego abstract podczas deklarowania klasy lub metody. Klasa abstrakcyjna w Javie to specjalny rodzaj klasy, którego nie można utworzyć.
Zauważ, że abstrakcja i enkapsulacja to nie to samo, choć łatwo je pomylić. Enkapsulacja to koncepcja owijania właściwości i metod obiektów.