1
resposta

[Dúvida] Construtor

Olá boa noite, como vai? Acredito que havia feito está pergunta, mas vamos lá: vi que na aula de API, foi criado outro construtor na classe Titulo para o recebimento de um objeto. PERGUNTA: Qual a reação deste objeto com dois construtores ? Será inicializado os dois de uma só vez ?

obrigado, Mauricio G

1 resposta

Bom dia, Maurício.

Se você tiver dois construtores com assinatura diferente, o que será chamado vai ser o com a assinatura chamada. Se você tiver dois construtores com a mesma assinatura (não sei porque faria isso) ele nem compila.

Exemplo:

public class TerminalPresentation implements PresentationInterface {

    private final ClienteControllerInterface controller;
    private final Scanner scannerTeclado;

    public TerminalPresentation(ClienteControllerInterface clienteController) {
        controller = clienteController;
        scannerTeclado = new Scanner(System.in);
    }

    public TerminalPresentation(ClienteControllerInterface clienteController) {
        controller = clienteController;
        scannerTeclado = new Scanner(System.in);
    }

}

O código acima gera erro de compilação

O código abaixo será chamado a depender de com que argumentos você chamou

public class TerminalPresentation implements PresentationInterface {

    private final ClienteControllerInterface controller;
    private final Scanner scannerTeclado;

    public TerminalPresentation(ClienteControllerInterface clienteController) {
        controller = clienteController;
        scannerTeclado = new Scanner(System.in);
    }

    public TerminalPresentation() {
        System.out.Println("Polimorfismo a gente vê por aqui")
    }

}

Se resolveu sua dúvida, marca como resolvido! Se não, pode perguntar o que não ficou claro.