Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Modificador de acesso 'Private'

Estou com uma duvida em relação ao modicador de acesso private, eu tenho a minha classe Empresa que tem referencia para classe Funcionario private Funcionario [] funcionario;, na minha classe TestaFuncionario como eu instancio esse objeto antes era assim empresa.funcionario = new Funcionario[10]

public class Empresa {

    String nome;
    String cnpj;
    String ramoAtuacao;
    int quantidadeFuncionarios;
    int contador = 0;

    private Funcionario [] funcionario; 

    public Funcionario getFuncionario(int posicao){

        return this.funcionario[posicao];
    }

}

public class Funcionario {

    String nome;
    Departamento departamento;
    private double salario;
    Data data;
    String rg;
        private double valor = 0;
        private double ganhoanual = 0;

}

public class TestaEmpresa {

    public static void main(String[] args){

    Empresa empresa = new Empresa();
    empresa.funcionario = new Funcionario[10];

    Funcionario fj11 = new Funcionario();        
        fj11.setSalario(300);    
        empresa.adiciona(fj11);

}
3 respostas
solução!

Tiago, Bom dia!

exatamente ,como você fez na classe TestaEmpresa .

mas se for rodar seu código irá dar erro pois o não existe o método adiciona na classe Empresa , e nem o método setSalario na classe funcionário.

feito esse dois método seu código irá executar .

Espero ter ajudado,Bons Estudos

Bom dia Tiago,

No caso do seu código uma solução seria:

Criar um construtor explicito na classe Empresa recebendo um inteiro que determinará o numero de posições no Array.

public class Empresa {
    String nome;
    String cnpj;
    String ramoAtuacao;
    int quantidadeFuncionarios;
    int contador = 0;

    public Empresa(int posicoes){
        funcionario = new Funcionario[posicoes];
    }
    //resto do codigo
}
public class TestaEmpresa {
    public static void main(String[] args){

        Empresa empresa = new Empresa(10);

        Funcionario fj11 = new Funcionario();        
            fj11.setSalario(300);    
            empresa.adiciona(fj11);
}

Ramon e Celso obrigado pela resposta!Gostaria de saber se alem do construtor explicito da classe Empresa, a outra forma de determinar o tamanho do array ? Ou essa forma é a que mais convêm utilizar nesses casos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software