Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Para achar o Endereço o corretamente

public class Pessoa {

    String nome;
    String cpf;
    int idade;
    Endereco endereco;
}

public class Endereco {

    String logradouro;
    String complemento;
    String numero;
    String bairro;
    String cidade;
    String cep;

}

public class Programa {

    public static void main(String args[]) {

        Pessoa p = new Pessoa();
        p.nome = "Paulo";
        p.endereco.logradouro  = "Aveninda XYZ";
    }
}
5 respostas

//Solução seria isto????

public class Programa {

    public static void main(String args[]) {

        Pessoa p = new Pessoa();
        p.nome = "Paulo";
        System.out.println(p.nome);

        Endereco e = new Endereco();
        e.logradouro  = "Aveninda XYZ";
        System.out.println(e.logradouro);

    }
}

Melhor desta forma

class Pessoa {

    String nome;
    String cpf;
    int idade;
    Endereco endereco;
}

class Endereco {

    String logradouro;
    String complemento;
    String numero;
    String bairro;
    String cidade;
    String cep;

}

public class TESTE {

    public static void main(String args[]) {

        Pessoa p = new Pessoa();
        p.nome = "Paulo";
        System.out.println(p.nome);

        Endereco e = new Endereco();
        e.logradouro  = "Aveninda XYZ";
    e.cidade = "Goiania";
        p.endereco = e;
        System.out.println(p.endereco.logradouro);
     System.out.println(p.endereco.cidade);
    }
}
p.endereco = e;  //poderia eliminar essa parte


// e deixar assim ??
Endereco p = new Endereco();
p.logradouro  = "Aveninda XYZ";
p.cidade = "Goiania";

Não poderia porque cada variável representa uma referência para um tipo diferente.

A variável 'p' tem uma referência para um objeto do tipo PESSOA e a variável 'e' tem uma referência para um objeto do tipo ENDEREÇO.

Mas, pode fazer assim:

public class Programa {

    public static void main(String args[]) {

        Pessoa p = new Pessoa();
        p.nome = "Paulo";
        p.endereco = new Endereco();
        p.endereco.logradouro  = "Aveninda XYZ";
        System.out.println(p.nome);
        System.out.println(p.endereco.logradouro);

    }
}
solução!
public class Programa {

    public static void main(String args[]) {

    // Criando o objeto Pessoa Paulo
        Pessoa paulo = new Pessoa();
        paulo.nome = "Paulo";

       // Criando o objeto endereço e atribuindo o nome desejado
      Endereco meuEndereco = new Endereco();
    meuEndereco .logradouro = "Aveninda XYZ"; 

    // Amarrando o objeto endereço ao objeto paulo
    paulo.endereco = meuEndereco ;

    // Imprimindo os valores
        System.out.println("Olá meu nome é:" + paulo.nome + " e meu endereço é: "+ paulo.endereco.logradouro);

    }
}