não consigo achar o problema:Exception in thread "main" java.lang.IllegalAccessError: tried to access field Funcionario.salario from class TestaEmpresa at TestaEmpresa.main(Funcionario.java:90)
e nesse codigo eu retirei o static da classe testa empresa por que o sistema alegava erro
class Funcionario{
String nome;
private double salario;
private double rg;
double departamento;
Data dataEntrada = new Data();
public void recebeAumento( double aumento){
this.salario += aumento;
}
public double getGanhoAnual(){
return this.salario*12;
}
void mostra(){
System.out.println("O salario:"+ this.getSalario());
System.out.println("O ganho: "+ this.getGanhoAnual());
System.out.println("Data:" + this.dataEntrada.getFormatada());
System.out.println("O rg:"+ this.getRg());
}
public double getSalario(){
return this.salario;
}
public void setSalario(double novoSalario){
this.salario= novoSalario;
}
public double getRg(){
return this.rg;
}
public void setRg(double novoRg){
this.rg= novoRg;
}
}
class Data {
int dia;
int mes;
int ano;
void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa{
String nome;
String cnpj;
Funcionario[] funcionarios;
void adicionar(Funcionario f){
int posicao = 0;
while(posicao < funcionarios.length) {
if(this.funcionarios[posicao] == null) {
this.funcionarios[posicao] = f;
break;
}
posicao++;
}
}
void mostraEmpregados(){
for (int i=0; i<this.funcionarios.length; i++){
System.out.println("Nome: " + this.funcionarios[i].nome);
System.out.println("Funcionario na posiçao "+i);
System.out.println("Salario: " + this.funcionarios[i].getSalario());
System.out.println("RG: " + this.funcionarios[i].getRg());
}
}
void mostraTodasAsInformacoes(){
for (int i=0; i<this.funcionarios.length; i++){
this.funcionarios[i].mostra();
}
}
public boolean contem(Funcionario f){
boolean existe= true;
for (int i=0; i < this.funcionarios.length; i++){
if(this.funcionarios[i]==f){
existe=true;
System.out.println("Existe");
}else {
existe= false;
System.out.println("Nao Existe");
}
}
return existe;
}
class TestaEmpresa{
public void main(String[]args){
Empresa bolsao= new Empresa();
bolsao.funcionarios= new Funcionario[10];
Funcionario bilbo= new Funcionario();
bilbo.nome= "Bilbo Baggins";
bilbo.setSalario(12000);
bilbo.getSalario();
bilbo.setRg(1234);
bilbo.getRg();
bilbo.dataEntrada= new Data();
bilbo.dataEntrada.preencheData(3,4,1239);
bolsao.adicionar(bilbo);
System.out.println( bilbo.getSalario());
Funcionario pipin= new Funcionario();
pipin.nome= "Peregrin Tuc";
pipin.setSalario(670);
pipin.getSalario();
pipin.setRg(5564);
pipin.getRg();
pipin.dataEntrada= new Data();
pipin.dataEntrada.preencheData(23,6,1367);
bolsao.adicionar(pipin);
System.out.println( pipin.getSalario());
Funcionario sam= new Funcionario();
sam.nome= "Samwise";
sam.setSalario(5678);
sam.getSalario();
sam.setRg(6743);
sam.getRg();
sam.dataEntrada= new Data();
sam.dataEntrada.preencheData(3,6,2016);
bolsao.adicionar(sam);
System.out.println( sam.getSalario());
//bolsao.mostraTodasAsInformacoes();
}
}
}