Senhores sei muitos conceitos básicos do Java como, por exemplo wrapper, Orientação a Objeto, sei que ao usar super(); estamos herdando as características do método construtor da classe PAI, porém me surgiu o seguinte questionamento na minha classe pessoa conforme código abaixo setei para que quando ela fosse instanciada vazia o nome por default seja javan até ai tudo bem, ao criar meu método construtor vazio na classe empregado não usei super(); logo a meu ver o nome NÃO deveria receber por default javan, só que está imprimindo este valor.
Já fiz esse teste, por exemplo, criando um construtor na classe pessoa que recebia só a idade e nele também setava no nome o valor javan, quando construída em empregado sem usar supe (); ele não colocava no nome o valor javan. Quando se trata do construtor vazio em empregado usar super(); ou não, não está fazendo diferença, porque?
//CLASSE MAIN.
package controle;
import entity.Empregado;
import entity.Pessoa;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Empregado e = new Empregado();
System.out.println("Nome> "+e.getNome());
}
}
//CLASSE PESSOA
package entity;
public class Pessoa {
private String nome;
private Integer idade;
public Pessoa() {
super();
this.nome = "Javan"; //COLOCANDO UM VALOR DEFAULT EM NONE.
}
public Pessoa(Integer idade) {
super();
//this.nome = "Javan";
}
public Pessoa(String nome,Integer idade) {
super();
this.nome = nome;
this.idade = idade;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getIdade() {
return idade;
}
public void setIdade(Integer idade) {
this.idade = idade;
}
}
//CLASSE EMPREGADO QUE HERDA DE PESSOA.
package entity;
public class Empregado extends Pessoa{
private String cargo;
public Empregado() {
//super ();
}
public Empregado(Integer idade) {
super (idade);
}
public Empregado(String nome, Integer idade,String cargo) {
super(nome,idade);
this.cargo = cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public String getCargo() {
return cargo;
}
}