Я получаю ошибку конструктора, не имеющую по умолчанию, только в одном из моих конкретных классов, которые реализуют один и тот же абстрактный класс, и я не уверен, почему любая помощь очень ценится.«конструктор по умолчанию не доступен в абстрактном классе»
`
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;
}
вы расширяете класс, который не имеет конструктора без арг, так что вам нужно вызвать супер конструктор с правильные аргументы ('super (...);') – Rogue
«void» перед сборкой должен быть удален. –
@CarlMastrangelo правильно, это ваш синтаксис! Конструкторам не нужен тип возврата. Они всегда возвращают свой собственный экземпляр. – Sagar