Bem como nos sabemos uma classe abstrata não pode ser instancia, porque intão ela tem construtor…?
uma vez que não posso ter a instância da mesma, estou com essa dúvida porque no livro do deitel
tem uma classe abstrata com um construtor segue o código:
// Fig. 10.4: Employee.java
// Superclasse abstrata Employee.
public abstract class Employee
{
private String firstName;
private String lastName;
private String socialSecurityNumber;
// construtor com três argumentos
public Employee( String first, String last, String ssn )
{
firstName = first;
lastName = last;
socialSecurityNumber = ssn;
} // fim do construtor Employee com três argumentos
// configura o nome
public void setFirstName( String first )
{
firstName = first;
} // fim do método setFirstName
// retorna o nome
public String getFirstName()
{
return firstName;
} // fim do método getFirstName
// configura o sobrenome
public void setLastName( String last )
{
lastName = last;
} // fim do método setLastName
// retorna o sobrenome
public String getLastName()
{
return lastName;
} // fim do método getLastName
// configura o CIC
public void setSocialSecurityNumber( String ssn )
{
socialSecurityNumber = ssn; // deve validar
} // fim do método setSocialSecurityNumber
// retorna o CIC
public String getSocialSecurityNumber()
{
return socialSecurityNumber;
} // fim do método getSocialSecurityNumber
// retorna a representação de String do objeto Employee
public String toString()
{
return String.format( "%s %s\nsocial security number: %s",
getFirstName(), getLastName(), getSocialSecurityNumber() );
} // fim do método toString
// método abstrato sobrescrito pelas subclasses
public abstract double earnings(); // nenhuma implementação aqui
} // fim da classe abstrata Employee
Porque essa classe tem construtor…?