Eigentlich sind diese Konstruktoren in der Tat nicht nötig.
Aber hier haben sie die Funktion, die Daten zu initialisieren, die Du bei jeder abgeleiteten Klasse auch initialisiert werden.
Wenn Du also ein Klasse ableitest, die zusätzlich noch einen vierten Parameter im Konstruktor bekommt, kann Du die drei Parameter, die schon in der abstrakten Klasse im Konstruktor sind einfach mit einem Aufruf von super(p1, p2, p3) zuweisen lassen.
Das ist nützlich, wenn Du die interne Datenstruktur der abstrakten Klasse änderst.
Ich hoffe es klar geworden, wenn nicht ruhig fragen