Array e Objeto ( Resolvido )

Srs, bom dia!

Estou tentando referenciar um array de um objeto. Temos as classes: Funcionário, Empresa e testaFuncionario.

No objeto Empresa eu faço uma referencia de um array de funcionário e tenho dois métodos add e mostra,

class Empresa
{
	//Atributos
	Funcionario[] employe; //Referencia de array para classe Funcionário
	
	
	//Metodo Adciona 
	void add( Funcionario f )
	{
		for( int i = 0; i < employe.length; i++ )
		{
			employe[ i ] = f;
		}	
	}//Fim do método
	
	//Metodo Impressão
	void mostra()
	{
		for( int i = 0; i < employe.length; i++ )
		{
			System.out.println( employe[ i ] );
		}				
	}//Fim do método	
}//Fim da classe

No objeto Funcionário, tenho um método que recebe um valor para salário,

class Funcionario
{
	//Atributos da classe
	Double salario;	
	
	//Método configura salário
	void salario( double salario )
	{
		this.salario = salario;		
		
	}//Fim do método	
}//Fim da classe

No objeto main faço as instâncias para os objetos e estou tentando passar Funcionário como referência para meu array dentro de empresa.

public class testaFuncionario
{
	public static void main( String[] args )
	{
		//Cria instância para objeto empresa
		Empresa empresa = new Empresa();
		empresa.employe = new Funcionario[ 2 ]; //Definição de posições do array
		
		//Cria instância para objeto Funcionário
		Funcionario f1 = new Funcionario();
		f1.salario ( 100 );
		empresa.add( f1 );
		empresa.mostra();		
	}//Fim do método main	
}//Fim da classe 

Questão: fiz alguns testes e observei que quando eu envio (f1) para método add no objeto empresa ele está como null. Este é um exercício que costa na apostila da Caelum no capitulo de array. Se alguém conseguir ajudar, eu gostaria de agradecer antecipadamente.

Srs, boa tarde!

Consegui solucionar meu problema, após algumas consultas na Web. Se alguém conseguir resolver de uma outra forma, favor compartilhar. Abraço.

import java.util.Scanner;

public class testaFuncionario
{
	public static void main( String[] args )
	{
		//Instância dos Objetos
		Empresa empresa = new Empresa( "Gimba", 54651 );
		Funcionario func[] = new Funcionario[2];
		Scanner input = new Scanner( System.in );
		
		//Inclusão dos Registros 
		for( int i=0; i < func.length; i++ )
		{
			func[ i ] = new Funcionario();
			System.out.print( "Nome:" );
			func[ i ].nome = input.nextLine();
			System.out.print( "Depto:" );
			func[ i ].depto = input.nextLine();
			empresa.add( func[ i ] );					
		
		}//Fim loop FOR
		
		//Chama metódo de impressão
		empresa.impressao();				
				
	}//Fim do metódo main	
		
}//Fim da Classe Main

//Inicio da classe Empresa
class Empresa
{
	//Atributos da classe
	String razaoSocial;
	int cnpj;
	int cont=0;
	Funcionario[] func = new Funcionario[2]; //Vetor da classe Funcionário	
	
	//Construtor
	public Empresa( String nome, int codCnpj )
	{
		razaoSocial = nome;
		cnpj = codCnpj;
		Funcionario[] func = new Funcionario[2];
								
	}//Fim do construtor	
	
	//Configura a razão Social da empresa
	void setNomeEmpresa( String nome )
	{
		razaoSocial = nome;
	
	}//Fim do método set
	
	//Retorna a razão Social da empresa
	String getNomeEmpresa()
	{
		return razaoSocial;
	
	}//Fim do método Get
	
	//Inclusão de Funcionários
	void add( Funcionario f )
	{
		func[ cont ] = f;
		cont++;		
	
	}//Fim da classe Add
	
	//Impressão dos registros
	void impressao()
	{
		System.out.printf( "Razão Social:%s\nCNPJ:%d\n", razaoSocial, cnpj );
		
		impressaoFunc();//Chamada para metódo de impressão dos funcionários			 	
	
	}//Fim do metódo impressão
	
	//Imprime funcionários
	void impressaoFunc()
	{
		for( Funcionario funcionario : func )
		{
			System.out.printf( "Funcionário:%s\nDepto:%s\n", funcionario.nome, funcionario.depto );
		}	
	}//Fim do metódo impressão Func			
}//Fim da classe Empresa

//Inicio da classe Funcionário 
class Funcionario
{
	//Atributos da classe
	String nome;
	String depto;
					
	//Configura o nome do funcionário
	void setNomeFunc( String theNome )
	{
		nome = theNome;
	
	}//Fim do método set
	
	//Retorna o nome do funcionário
	String getNomeFunc()
	{
		return nome;
	
	}//Fim do método Get		
}//Fim da classe Funcionário 

Obs: se houver dúvida quanto essa solução, estou á disposição.