Quando eu compilo o programa ele dá o seguinte erro referente a ultima linha do código:
cap2.java:60: error: non-static variable funcionarios cannot be referenced from a static context Empresa.funcionarios[0].mostra();
class Empresa {
String nome;
funcionario[] funcionarios;
String cnpj;
int livre = 0;
void adicionar(funcionario f){
this.funcionarios[this.livre] = f;
this.livre++;
}
}
class funcionario {
String nome;
String departamento;
double salario;
String dataEntrada;
String rg;
void recebeAumento(double aumento) {
this.salario += aumento;
}
double calculaGanhoAnual() {
return this.salario*12;
}
void mostra () {
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: " + this.salario);
System.out.println("Data de Entrada: " + this.dataEntrada);
System.out.println("RG: " + this.rg);
System.out.println("Ganho Anual: " + this.calculaGanhoAnual());
}
}
class TestaEmpresa {
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.funcionarios = new funcionario[10];;
funcionario f1 = new funcionario();
f1.salario = 1000;
empresa.adicionar(f1);
funcionario f2 = new funcionario();
f2.salario = 2000;
empresa.adicionar(f2);
funcionario f3 = new funcionario();
f3.salario = 2500;
empresa.adicionar(f3);
Empresa.funcionarios[0].mostra();}