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

Não entendi a necessidade de usar o: new Cliente()

Porque eu não poderia apagar o "Cliente matheus = new Cliente();" ?

public class TestaGetESet {

    public static void main(String[] args) {
        Conta conta = new Conta();

        //conta.numero = 1337;

        conta.setNumero(1337);
        System.out.println(conta.getNumero());

        Cliente matheus = new Cliente();        
        conta.setTitular(matheus);

        matheus.setNome("Matheus Cardoso");

        System.out.println(conta.getTitular().getNome());

        conta.getTitular().setProfissao("Programador");
    }

}
5 respostas

Alguém pode ajudar?

Olá Matheus,

Você utiliza ele nas linhas conta.setTitular(matheus); e matheus.setNome("Matheus Cardoso"); para definir o Cliente como titular da Conta que você criou na linha Conta conta = new Conta();

Mas porque eu não poderia usar apenas conta.setTitular(matheus), para definir o tipo cliente?

solução!

Porque matheus não estaria definido como um tipo. Você só pode usar variáveis/constantes que definiu. Uma outra forma poderia ser:

       public static void main(String[] args) {
        Conta conta = new Conta();
        conta.setNumero(1337);
        //conta.numero = 1337;

       System.out.println(conta.getNumero());

        /* Na linha abaixo, você atribui um novo cliente para a Conta, definindo ele como titular. Para o java, o cliente não existe até essa linha ser executada */
        conta.setTitular(new Cliente()); 

        Cliente titular = conta.getTitular(); // Aqui você pode usar o cliente que foi definido na linha de cima
        titular.setNome("Matheus Cardoso");
        System.out.println(titular.getNome());
        titular.setProfissao("Programador");
    }

Bom dia Matheus!!! Tudo Bem???

Então quando comecei estudar OO um instrutor me disse que toda vez que utilizasse o new ....() é como se nós estivemos criando um novo objeto. Aí ele me explico que Uma classe é como uma planta baixa de uma casa que mostra como a casa é, mas não dar para morarmos. Com o operador new conseguimos criar um novo objeto da classe.

Cliente oClente(aqui é a referência, ou seja uma instãncia da classe cliente) = new(aqui está dizendo crie um novo objeto da casa cliente) Cliente();

Como criar objeto?

p= new( para reservar na memória tenho q colocar o new) Produto( método construtor que tem o mesmo nome da classe)();