Abaixo, apresentamos a implementação da classe pessoa.

Exemplo _3_1_1: definição da classe pessoa

import java.util.Calendar;

public class funcionario extends pessoa{

   public Calendar dataDeAdmissao;
   public String data;
	
   public funcionario(String Nome, String Tratamento, char sexo) {
       //O comando abaixo chama o construtor da classe pai      
      super(Nome, Tratamento, sexo);
	
   }
   public funcionario(String Nome, String Tratamento, char sexo, String dataDeAdmissao) {
      super(Nome, Tratamento, sexo);
      data = dataDeAdmissao;
      this.dataDeAdmissao = Calendar.getInstance();
      this.dataDeAdmissao = Calendar.getInstance();
      this.dataDeAdmissao.set(Calendar.YEAR,Integer.parseInt(dataDeAdmissao.substring(6, 10)));
      this.dataDeAdmissao.set(Calendar.MONTH, Integer.parseInt(dataDeAdmissao.substring(3, 5)));
      this.dataDeAdmissao.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dataDeAdmissao.substring(0, 2)));     
  }

   public static void main(String[] args) {
      funcionario  func = new funcionario("Andrei","Sr.",'M',"02/01/2015");
      System.out.print(func.data.substring(0, 2)+func.data.substring(3, 5)+func.data.substring(6, 10));
	}
}

Vejam que não houve nenhuma diferença na declaração da classe pai. A declaração da classe funcionario é mostrada abaixo:

Exemplo _3_1_2: definição da classe funcionário.

Como vimos, o método super (linhas 10 e 14) chama o construtor da classe pai. No exemplo declaramos um objeto do tipo funcionario (linha 24). Entretanto, em função da herança poderíamos ter escrito:

funcionario  func = new funcionario("Andrei","Sr.",'M',"02/01/2015");

ou

pessoa  func = new funcionario("Andrei","Sr.",'M',"02/01/2015");

Ou seja, um objeto da classe pai pode receber um objeto da classe filha. Uma forma simples de entender isso é que um funcionário é sempre uma pessoa. O contrário não é verdadeiro, ou seja, um objeto da classe filha não pode receber a referência de um objeto da classe pai. O código abaixo está errado:

//ATENÇÃO: CÓDIGO INCORRETO!!!
Funcionário func = new pessoa("Andrei","Sr.",'M',"02/01/2015");
Copyright © 2014 AIEC.