Acessar dados encapsulados

Bah, gurizada to como seguinte problema: tenho uma classe, e nela criei um campo e o encapsulei, também na mesma classe tenho um método. Preciso setar um valor para o campo encapsulado através de um método de outra classe, estou fazendo isso pelo método da classe que possui os campos, só que quando peço para mostrar o valor no método da classe onde está os campos encapsulados, o valor não se alterou…

Ah, encapsulei o campo como private

Desde já agradeço,

Posta o código aí.

Não está estático talvez?? Coloca o código da classe aí!

cara… na minha opinião basta vc utilizar os getters ans setters

Não entendi direito seu problema.
Acessa via setVariavel(), coloca um objeto da classe que vc quer acessar o método, dentro da outra classe. Entendeu?

[code]public class carregaDadosAna {
private int DIA_FIM = 43;

public boolean insereAna(String caminho) throws ParseException {
                    if (i == DATA) {               
                        System.out.print("[" + colunas[i] + "]");
                        //seto a data na variavel data la da ana, ja formatada
                        ana.getAnaPK().setData(df.parse(colunas[i]));
                        System.out.println(df.parse(colunas[i]));

                        //crio dois campos, mes e ano, para armazenar 
                        //o mes e o ano do dado atual, e vou incrementando 
                        mes = colunas[i].substring(3, 5);
                        ano = colunas[i].substring(6, 10);

                        //armazeno no mesSeq e anoSeq, o mes e o ano do primeiro registro do arquivo
                        mesSeq = Integer.parseInt(mes);
                        anoSeq = Integer.parseInt(ano);

                        System.out.println("dia: " + dia + "mes: " + mes + "ano:" + ano);

                        //variavel total,vai receber o total de dias do mes,e ano passados por parametro
                        Integer total = procuraDiaMaxMes.procuraUltimoDia(Integer.parseInt(mes), Integer.parseInt(ano));
                        //se tudo correu certo,total vai ser diferente de null, então entro no if

                         System.out.println("Valor do campo Data_Fim antes do metodo: " + getDIA_FIM());
                        
                        //passao o total de dias do mes, e nessa classe que vou setar o valor para a variavel DIA_FIM de carregaDadosAna
                   [b]     trabalhaCampoData tcd = new trabalhaCampoData();
                        tcd.setaTotalDiaMes(total);[/b]

                        System.out.println("Valor do campo Data_Fim depois do metodo: " + getDIA_FIM());
                    }



}//fim do método insereAna

[b] public int getDIA_FIM() {
return DIA_FIM;
}

public void setDIA_FIM(int DIA_FIM) {
    this.DIA_FIM = DIA_FIM;
}[/b]

}//fim da classe carregaDadosAna

[/code][code]

to tentando alterar o valor do campo encapsulado atraves desse outro metodo:

public class trabalhaCampoData {

public void setaTotalDiaMes(Integer total) {
    System.out.println("Entrou no seta Total Dia Mes ");
    System.out.println("Recebeu total: "+total);
   
    carregaDadosAna cda = new carregaDadosAna();
   
    int dia = 43;
            
    if (total != null) {
        //se o total do mês for 30, atualizo DIA_FIM -1, pq ele ta para 31 dia
        if (total == 30) {
            cda.setDIA_FIM(dia - 1);
        }

        //se o total do mês for 29, atualizo DIA_FIM -2, pq ele ta para 31 dia
        if (total == 29) {
            cda.setDIA_FIM(dia - 2);
        }

        //se o total do mês for 28, atualizo DIA_FIM -3, pq ele ta para 31 dia
        if (total == 28) {
            cda.setDIA_FIM(dia - 3);
        }
    }
     System.out.println("Valor do campo Data_Fim depois do metodo: "+cda.getDIA_FIM());
}

}

gurizada tem bastante código que eu não postei, o necessário está aí entao se verem algum campo e tal não declarado, é que eu tirei. O problema é através do método setaTotalDiaMes eu altero o valor tudo tranquilo, mas qndo peço para mostrar o valor do campo no metodo insereAna, ele nao atualiza o valor…

Obrigado,

Bom consegui… posto o codigo ai resolvido…

[code]if (i == DATA) {
System.out.print("[" + colunas[i] + “]”);
//seto a data na variavel data la da ana, ja formatada
ana.getAnaPK().setData(df.parse(colunas[i]));
System.out.println(df.parse(colunas[i]));

                        //crio dois campos, mes e ano, para armazenar 
                        //o mes e o ano do dado atual, e vou incrementando 
                        mes = colunas[i].substring(3, 5);
                        ano = colunas[i].substring(6, 10);

                        //armazeno no mesSeq e anoSeq, o mes e o ano do primeiro registro do arquivo
                        mesSeq = Integer.parseInt(mes);
                        anoSeq = Integer.parseInt(ano);

                        System.out.println("dia: " + dia + "mes: " + mes + "ano:" + ano);

                        //variavel total,vai receber o total de dias do mes,e ano passados por parametro
                        Integer total = procuraDiaMaxMes.procuraUltimoDia(Integer.parseInt(mes), Integer.parseInt(ano));
                        //se tudo correu certo,total vai ser diferente de null, então entro no if

                         System.out.println("Valor do campo Data_Fim antes do metodo: " + getDIA_FIM());
                        
                        //passao o total de dias do mes, e nessa classe que vou setar o valor para a variavel DIA_FIM de CarregaDadosAna
                        TrabalhaCampoData tcd = new TrabalhaCampoData(this);
                        tcd.setaTotalDiaMes(total);

                        System.out.println("Valor do campo Data_Fim depois do metodo: " + getDIA_FIM());
                    }

[/code]

[code]public class TrabalhaCampoData {
private CarregaDadosAna cda = null;

public TrabalhaCampoData(CarregaDadosAna cda) {
    this.cda = cda;
}

public void setaTotalDiaMes(Integer total) {
    System.out.println("Entrou no seta Total Dia Mes ");
    System.out.println("Recebeu total: "+total);
   
    int dia = 43;
            
    if (total != null) {
        //se o total do mês for 30, atualizo DIA_FIM -1, pq ele ta para 31 dia
        if (total == 30) {
            cda.setDIA_FIM(dia - 1);
        }

        //se o total do mês for 29, atualizo DIA_FIM -2, pq ele ta para 31 dia
        if (total == 29) {
            cda.setDIA_FIM(dia - 2);
        }

        //se o total do mês for 28, atualizo DIA_FIM -3, pq ele ta para 31 dia
        if (total == 28) {
            cda.setDIA_FIM(dia - 3);
        }
    }
     System.out.println("Valor do campo Data_Fim depois do metodo: "+cda.getDIA_FIM());
}

}[/code]