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 = "Avenida XYZ"; //onde está o erro
}
}
No exercício diz que não é possível acessar p.endereco.logradouro
, pois a classe Endereco não foi instanciada antes, mas na "classe Pessoa" existe uma variável do tipo Endereco... então quer dizer que não é só pq uma variável é do tipo de uma determinada classe que ela automaticamente instancia a tal classe, é isso?
E se instanciasse um objeto de outra classe qualquer nessa variável do tipo Endereco, mesmo que por acaso esse outro objeto também tivesse a propriedade logradouro ou se tentasse atribuir qualquer outro valor que não fosse uma instância da classe Endereco daria erro, correto?