Erro1

Pessoal,

Estou com um problema.
Consigo referenciar atributos de determinada classe, mas de outra não.
O código está logo abaixo:

A classe Conta2:

[code]public class Conta2{

int numero;
double saldo;
double limite;
Cliente cliente;

/// métodos

}[/code]

A classe Clilente:

[code]public class Cliente{

String nome;
String sobrenome;
String cpf;

}[/code]

A classe TesteContaCliente:

[code]public class TesteContaCliente{

public static void main (String args[]){

Conta2 minhaConta=new Conta2();
Cliente c=new Cliente();

minhaConta.cliente=c;

c.nome=“Sergio”;
c.sobrenome=“Silva”;
c.cpf=“123.456.789-00”;
c.numero=10001;
c.saldo=156.0;
c.limite=400.0;

System.out.println("\nDADOS DE CONTA\n");
System.out.println("Nome: “+c.nome+” "+c.sobrenome);
System.out.println("CPF: "+c.cpf);
System.out.println("Numero da conta: "+c.numero);
System.out.println("Saldo atual: "+c.saldo);
System.out.println("Limite: "+c.limite);

}
}[/code]

Os erros só aparecem nas variáveis referentes á classe Conta2.
Alguém sabe por que:?:

Colega, não analisei profundamente seu código, mas minha dica inicial seria para que você verificasse se as três classes estão no mesmo pacote.

Da forma como você marcou os atributos das classes, eles são do tipo default ( package ), sendo visíveis apenas às classes do mesmo pacote.

O ideal seria manipular os atributos através de métodos get e set.

Amigo,

Tente importar a classe Conta2… :slight_smile:

Olá mpereira,

O seu erro aqui é que você trocou o trecho abaixo, você está usando’o atributo “numero” na classe Cliente, só que ele não existe nesta classe. Ele existe na classe Conta2.

c.numero=10001; c.saldo=156.0; c.limite=400.0;

Portanto seu código tem que ser assim:

minhaConta.numero=10001; minhaConta.saldo=156.0; minhaConta.limite=400.0;

Você precisa trocar dentro do System.out.println() também pra poder compilar.

Outra coisa, da maneira que você está programando é programação Estruturada e em Java ou outra linguagem orientada a objetos, isto não é uma boa prática. Só usamos este tipo acesso a variáveis/atributos se eles forem Constantes(Constant) e Estáticos(Static).

Acredito que você está começando e lendo algum material, provavelmente você vai entender depois o que estou dizendo…

Abraços!

pelo visto vc tem cada class em um pacote - package diferente vc deve importar a class que deseja usar.

Adílson,

Era isso mesmo. Troquei o “c” por “minhaConta” e compilou/executou certinho.

c.nome="Sergio"; c.sobrenome="Silva"; c.cpf="123.456.789-00"; minhaConta.numero=10001; minhaConta.saldo=156.0; minhaConta.limite=400.0;
Estou lendo o “caelum-java-objetos-fj11.pdf”.
Comecei a ver Java no IBTA em 2004; tive que parar e agora estou voltando a estudá-lo em casa.
Realmente, por enquanto tá tudo estruturado, depois vem o OO.

Obrigado, e valeu pessoal!!

abraços

[size=20]MARCELO[/size]