Die konkrete Klasse in Java ist die Standardklasse und ist eine abgeleitete Klasse, die die grundlegenden Implementierungen für alle Methoden bereitstellt, die noch nicht in der Basisklasse implementiert sind. Das Gegenteil der konkreten Klasse ist die abstrakte Klasse, die nicht für alle ihre Methoden Implementierungen bereitstellt.
Benutzer können sich die abstrakte Klasse als die Klasse vorstellen, die als Basisklasse verwendet wird, und dann ist die konkrete Klasse die Klasse, die alle fehlenden Funktionen in der abstrakten Klasse ausfüllt.
Um den Menschen zu helfen, das Konzept der konkreten Klasse und der abstrakten Klasse besser zu verstehen, muss das Konzept "Klasse" definiert werden. Eine Klasse ist ein Mitglied eines Standardpakets, es sei denn, ihre Quelldatei enthält eine Paketanweisung. Eine Klasse wird als abstrakt definiert, wenn sie über eine oder mehrere abstrakte Methoden verfügt oder nicht alle abstrakten Methoden ihrer Oberklasse implementiert. Wenn eine Klasse keinen expliziten Konstruktor hat, muss der Standardkonstruktor verwendet werden. Klassen müssen als öffentlich deklariert werden, sonst sind sie nur für die Mitglieder desselben Pakets zugänglich. Eine Klasse kann denselben Namen haben wie eine andere Klasse, aber nur, wenn diese beiden Klassen nicht dasselbe Paket teilen und nur wenn die beiden Klassen nie in dieselbe Datei importiert werden.