Ich bekomme einen Fehler, der keine Standardkonstruktoren zur Verfügung stellt, nur in einer meiner konkreten Klassen, die dieselbe abstrakte Klasse implementieren, und ich bin nicht sicher, warum jede Hilfe sehr geschätzt wird."kein Standardkonstruktor in der abstrakten Klasse verfügbar"
`
public abstract class Employee implements Payable
private String firstName;
private String lastName;
private String socialSecurityNumber;
private date birthdate;
// constructor
public Employee(String firstName, String lastName,
String social, date dob)
{
this.firstName = firstName;
this.lastName = lastName;
this.socialSecurityNumber = social;
//this.birthdate = getBirthdate();
// Birthdate(year, month, day);
birthdate = dob;
}
public class pieceWorker extends Employee // no default constructor available
{
private double wage; ``
private int pieces;
public void pieceWorker(String firstName, String lastName, String social,date dob, double wage, int pieces) // use some getters ?
{
super(firstName,lastName,social, dob);
setWage(wage);
setPieces(pieces);
this.wage = wage;
this.pieces = pieces;
}
Sie eine Klasse erweitern, die keinen Konstruktor keine-args hat, so dass Sie den Super-Konstruktor mit den anrufen müssen korrekte Argumente ('super (...);') – Rogue
Die 'void' vor pieceWorker muss entfernt werden. –
@CarlMastrangelo ist richtig, es ist Ihre Syntax! Konstruktoren benötigen keinen Rückgabetyp. Sie geben immer ihre eigene Instanz zurück. – Sagar