[Resolvido] Transferencia de variavel de uma classe para outra

Galera, sou iniciante na programação Java e estou com uma dúvida e pesquisei mas não encontrei resposta.

No meu código eu preciso que seja printado a variável do tipo String com nome de xnome que está na classe Conta. Mas eu gostaria que o “println” estivesse na classe programa.

Então eu intuitivamente enderecei o método para a classe Conta.xnome.

   if (cliente == 1) {
            System.out.println(Conta.xnome + minhaConta1.nome + Conta.xnumero + minhaConta1.numero);
        }

Estou usando IDE NetBeans, e o NetBeans me informa que realmente o enderecamento Conta.xnome é respectivo da variavel da classe Conta, mas informa que tem algo errado, que sinceramente eu não saquei o que é.

Vejam o código no total abaixo.

Alguém saberia a solução? Grato desde já.

package conta;

public class Conta {

    int numero;
    String nome;
    double saldo;
    double limite;
    double saca;
    double deposita;
    double quantidade;

    String xnome = "O cliente ";
    String xnumero = ", com posse da conta numero ";
    String xsaldo = ", tem total em conta para movimentação de R$";
    String xsaca = ", sacou R$";
    String xdeposita = ", depositou R$";
    String xlimite = "e tem um limite de R$";
    String xtotal = "Saldo final R$"
    
}

class Programa {

    public static void main(String[] args) {

        int cliente = 1;

        Conta minhaConta1 = new Conta();
        Conta minhaConta2 = new Conta();

        minhaConta1.numero = 984622;
        minhaConta1.nome = "Vinicius Assis";
        minhaConta1.saldo = 984.00;
        minhaConta1.saca = 300.00;
        minhaConta1.deposita = 200.00;
        minhaConta1.limite = 2000.00;

        minhaConta2.numero = 015642;
        minhaConta2.nome = "Romario";
        minhaConta2.saldo = 600000.00;
        minhaConta2.saca = 10000.00;
        minhaConta2.deposita = 200000.00;
        minhaConta2.limite = 200000000.00;

        if (cliente == 1) {
            System.out.println(Conta.xnome + minhaConta1.nome + Conta.xnumero + minhaConta1.numero);
        }


    }
}

Faltou vc definir como variavel static cara:

public static final String xnome = "blablabla";

onde public é o acesso (publico…dãr…)

static indica que existe apenas uma instancia dessa variavel no programa inteiro.

e final que indica se tratar de uma variavel que não pode ser alterada.

Olá,

Você não poderá acessar a variável xnome e xnumero da forma como colocou. Com:

String xnome = "O cliente "; String xnumero = ", com posse da conta numero ";

Você define que elas são variáveis de instância. Assim, só poderá acessá-las quando possuir uma instância da classe Conta. Para que seu código funcionasse você poderia declará-las como static:

static String xnome = "O cliente "; static String xnumero = ", com posse da conta numero ";

ou mudar a forma como fez o seu print para algo assim:

System.out.println(minhaConta1.xnome + minhaConta1.nome + minhaConta1.xnumero + minhaConta1.numero); 

No seu caso acho que seria mais interessante declarar como constantes, já que você pretende apenas usá-las como apoio para o seu print ou outra forma de apresentar descritivamente. Ficaria assim:

static final String xnome = "O cliente "; static final String xnumero = ", com posse da conta numero ";

[]s

Ae funcionou! Valeu.