Supondo o seguinte caso:
import java.util.Date;
public class Employee {
private String name;
private double salary = 15000.00;
private Date birthDate;
public Employee(String n, Date DoB) {
name = n;
birthDate = DoB;
}
public Employee(String n) {
this(n, null);
}
}
public class Manager extends Employee {
private String departament;
public Manager(String n, String d) {
super(n);
departament = d;
}
}
Utilizando um new Manager(“Giuliani Sanches”, “Development”) ocorreria o seguinte:
- Alocação de memória para o objeto manager como um todo;
- Inicialização de todas as variáveis de instância;
(…)
Justamente no ponto de inicializar as variáveis de instância me surgiu a dúvida:
a) Somente as variáveis de instância da classe Manager seriam iniciadas nesse momento e as variáveis de instância da classe Employee seriam inicializadas no momento da chamada do super ou
b) Tanto as variáveis de instância de Manager como as em Employee seriam inicializadas ?
