Jean Carlo, O problema não é bem de herança, mas sim por que o qualificador de endereço é private. Basicamente há dois modos para resolver isso:
1) Vc. pode mudar endereco para public e então o codigo: cliente.endereco.setRua("Nome da Rua"); passaria a funcionar. 2) Ou, mantenha o atributo como private e implemente um metodo getEndereco() na classe tpessoa, que retorne o atributo endereco: public tendereco getEndereco() { return endereco; } Altere o codigo para cliente.getEndereco().setRua("Nome da Rua"); Como isto funciona? Bem o Java não irá criar um novo objeto endereco no retorno de getEndereco(), mas vai passar uma referencia para esse objeto. Desse modo o setRua() a seguir irá "setar" o atributo rua dentro do objeto endereco que está em cliente. Roberto Tatemoto > > PessoALL, > > Tenho uma classe tcliente que herda de tpessoa. A Tpessoa tem um atributo > endereco do tipo tendereco. Como faco para setar os valores do endereço ??? > > Tipo assim: > > Criei um objeto do tipo tcliente > > Tcliente cliente=new tcliente(); > > Eu quero setar o nome e a rua do cliente. > > O nome eu seto assim: > > Cliente.setNome("Anderson"); > > Mas como eu seto a rua ? Tentei > > Cliente.endereco.setRua("Rua x"); e também > > Cliente.setRua("Rua x"); > > E deu errado. Como eu faço ? > > Minha classe pessoa está assim: > > public class tpessoa > { > private String nome; > private tendereco endereco; > > public tpessoa() > {nome=""; > endereco=new tendereco(); > } > > > > > []'s > Jean Carlo-BH ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------