Problemas com a chamda de um método ![RESOLVIDO]

Ola amigos, mais uma vez venho pedir a ajuda de vocês para um exercício que tenho feito. Bom, tenho certeza que é algo muito simples, mas como ainda não tenho a experiência em OO estou apanhando bastante rsrs.
Tenho uma classe “Funcionario”, “Data” e “TestaFuncionario”, gostaria de fazer com que a classe “Funcionario” use o método da classe “Data” mas percebi que existe alguma coisa errada quando chamo o método “mostraData” dentro do método “mostra”, eu não posso fazer isso porque esta dentro de um método void ? achei estranho porque quando eu chamava o método “mostra” sem o “mostraData” dentro dele dava tudo certo, mas quando eu coloco o método “mostraData” dentro do método “mostra” ele não aparece nada, sera que consegui explicar direito? rsrs
Segue a implementação:

[code]import javax.swing.JOptionPane;
class Data{
private int dia;
private int mes;
private int ano;
public Data{
dia = Integer.parseInt(JOptionPane.showIputDialog(null,“Entre com o dia”);
mes = Integer.parseInt(JOptionPane.showInputDialog(null,“Entre com o mes”);
ano = Integer.parseInt(JOptionPane.showInputDialog(null,“Entre como ano”);
}

    public mostraData(){
    JOptionPane.showMessageDialog(null, this.dia + "/" + this.mes + "/" + this.ano);
    }

import javax.swing.JOptionPane;
classe Funcionario{
private String nome;
private String rg;
private double salario;
private Data data;
public Funcionario{
nome = JOptionPane.showInputDialog(null,“Informe o nome do funcionario”);
rg = JOptionPane.showInputDialog(null,“Informe o RG do funcionario”);
salario = Float.parseFloat(JOptionPane.showInputDialog(null,“Informe o salario do funcionario”)
Data data = new Data(); }

// outros métodos

    public void mostra(){
    JOptionPane.showMessageDialog(null,"Nome: "+this.nome+"\n"+
                                                           "RG: "+this.rg+"\n"+
                                                            "Salário: "+this.salario"); 
                                                         data.mostraData();

}

import javax.swing.JOptionPane;
classe TestaFuncionario{

    public static void main(String[]  args){

Funcionario funcionario = new Funcionario();
funcionario.mostra();
}
}[/code]

Obrigado a todos !

Oi,

Não cheguei a analisar o código… mas o que me chamou atenção foi isso: thins

public mostraData(){ JOptionPane.showMessageDialog(null, thins.dia + "/" + this.mes + "/" + this.ano); }

Tchauzin!

ah isso foi erro de digitação mesmo rsrsrs, era pra ser um “this”, é que eu escrevi este codigo direto aqui e nem percebi este erro mas ja vou concertar
Obrigado :slight_smile:

Oi,

Agora eu vi! Você está criando uma nova referencia de Data, no qual não está sendo usada em nenhum lugar, sendo que poderia aproveita-la acoplando-a em sua variável “global” do tipo Data:

private Data data; public Funcionario(){ nome = JOptionPane.showInputDialog(null,"Informe o nome do funcionario"); rg = JOptionPane.showInputDialog(null,"Informe o RG do funcionario"); salario = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o salario do funcionario")); Data data = new Data(); // AQUI }

Você deveria fazer:

private Data data; public Funcionario(){ nome = JOptionPane.showInputDialog(null,"Informe o nome do funcionario"); rg = JOptionPane.showInputDialog(null,"Informe o RG do funcionario"); salario = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o salario do funcionario")); data = new Data(); }

Tchauzin!

Ah tah agora que eu percebi isso rsrs, obrigado pela ajuda
Voce acha que fica bom desta maneira que estou usando a classe Data?
Ou acha que ficaria melhor de uma outra maneira ?
Muito obrigado