Ao criar uma referencia do Atributo empregado da Classe empresa e tentar compilar aparece a seguinte mensagem: empregados has private acess in Empresa. Testei duas coisas: 1º tirei o modificado de acesso Private do atributo empregados. 2º criei a referencia direto na classe;
porém ao compilar retornou a mensagem: não foi possivel localizar nem carregar a classe principal TestaFuncionario.class
tadas as classe estão em um mesmo arquivo .java
segue codigo
class Funcionario{
private String nome;
private String departamento;
private double salario;
private Data dataEntrada;
private String rg;
public double getGanhoAnual() {
return this.salario * 12;
}
public String getNome() {
return this.nome;
}
public void setNome (String nome) {
this.nome = nome;
}
public String getDepartamento() {
return this.departamento;
}
public void setDepartamento (String departamento) {
this.departamento = departamento;
}
public double getSalario() {
return this.salario;
}
public void setSalario (double valorSalario) {
this.salario = valorSalario;
}
public Data getDataEntrada() {
return this.dataEntrada;
}
public void setDataEntrada (Data dataEntrada) {
this.dataEntrada = dataEntrada;
}
public String getRg() {
return this.rg;
}
public void setAumento(double valorAumento){
this.salario += valorAumento;
}
public void setRg(String valorRg){
this.rg = valorRg;
}
public void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Data de Adminssão: " + this.dataEntrada.getFormatada());
System.out.println("RG: " + this.rg);
}
}
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{
private Funcionario[] empregados;
private String nome;
private String cnpj;
private int livre = 0;
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCnpj() {
return this.cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
/////////////////////////////////////////////////////////////
public void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
void mostraEmpregados() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("R$" + this.empregados[i].salario);
}
}
public Funcionario getFuncionario(int posicao) {
return this.empregados[posicao];
}
boolean contem(Funcionario f){
for (int i = 0; i < this.livre; i++){
if (f == this.empregados[i]) {
return true;
}
}
return false;
}
public void mostraTodasAsInformacoes() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
this.empregados[i].mostra();
}
}
}
class TestaFuncionario{
public static void main(String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.setSalario(1000);
Data data = new Data();
data.preencheData(3,4,1988);
f1.setDataEntrada(data);
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.setSalario(1700);
data.preencheData(3,4,1989);
f2.setDataEntrada(data);
empresa.adiciona(f2);
empresa.mostraTodasAsInformacoes();
}
}