Construtor da classe mãe não é visível na filha?

Pessoal boa tarde:

Tenho as seguintes classes:

[code]public class Funcionario {

protected String nome, departamento, RG, email;
protected Double salario;
protected Boolean veioTrabalhar, demitido = false;
protected Data dtEntrada;
static private int qtde;

Funcionario (String nome, String departamento, String RG, String email){
	this.nome = nome;
	this.departamento =  departamento;
	this.RG = RG;
	this.email = email;
	Funcionario.qtde = Funcionario.qtde + 1;
}

public int getQtde(){
	return this.qtde;
}

public String getNome (){
	return this.nome;
}

public String getDepartamento (){
	return this.departamento;
}

public String getRG(){
	return this.RG;
}

public String getEmail(){
	return this.email;
}

public double getBonificacao() {
	return salario * 0.10;
	}

void recebeAumento (double quantidade){
	double novoSalario = this.salario + quantidade;
	this.salario = novoSalario;
}

double calculaGanhoAnual(){
	return this.salario * 12;		
}

boolean demite (){
	//System.out.println("Funcionário demitido");
	this.demitido = true;
	return true;
}

void mostra(){
	System.out.println("Nome: " + this.nome);
	System.out.println("Departamento: " + this.departamento);
	//utiliza o método dataFormat do objeto Data (dtEntrada é do tipo Data)
	System.out.println("Data de entrada: " + this.dtEntrada.dataFormat());
	System.out.println("RG: " + this.RG);
	System.out.println("Email: " + this.email);
	System.out.println("Salário: " + this.salario + "\n");
}

}[/code]

[code]public class Gerente extends Funcionario {

int senha;
int numeroDeFuncionariosGerenciados;

public boolean autentica(int senha) {
	if (this.senha == senha) {
		System.out.println("Acesso Permitido!");
		return true;
	} else {
		System.out.println("Acesso Negado!");
		return false;
	}
}

@Override
public double getBonificacao() {
	return salario * 0.10;
	}

}[/code]

A classe filha gerente está pedindo para definir novamente o construtor. É realmente necessário ou eu consigo contornar isso de alguma forma?

Sim…

Ficaria algo do tipo

public Gerente(String nome, String departamento, String RG, String email){ super(nome, departamento, RG, email); }

veja da seguinte maneiro um Gerente é um Funcionario…

um Funcionario quando é instanciado precisa de nome, departamento, RG e email
se voce instanciar um Gerente sem passar esses parametros como a JVM vai saber quais são eles ?

se o construtor de Funcionario fosse sem argumentos não seria necessario ja que o construtor default é assim:

public Gerente{ super(); }

entendeu ?

Entendi, mas eu pensei que haveria alguma forma de o construtora de Gerente() herdar os argumentos da Funcionario().

Então tudo bem, irei incluir os argumentos no construtor. Obrigado!

[quote=andrepm]Entendi, mas eu pensei que haveria alguma forma de o construtora de Gerente() herdar os argumentos da Funcionario().

Então tudo bem, irei incluir os argumentos no construtor. Obrigado![/quote]

Me corrijam se estiver errado… Não existe como herdar os argumentos do construtor de Funcionario.

Tem que ser feito como o amigo aí de cima falou mesmo.