Boa noite pessoal.
Porque se eu puser “void” no retorno de um construtor ele não executa o código que tem dentro dele quando instancio um objeto mas não reclama erro? Ele só executará quando chamá-lo explicitamente.
Exemplo:
classTeste{publicvoidTeste(){System.out.println("Sou o construtor da classe Teste.");}}
Na verdade, esse cara que você está chamando de construtor é um método comum, não um construtor. É permitido criar métodos comuns com o mesmo nome da classe. Sua dúvida mostra como fazer isso pode ser uma má ideia.
guilherme.dio
Um construtor é exatamente o que o próprio nome diz, ele constroí o objeto no momento em que sua classe é instanciada(NEW).
Um construtor não deve retornar nada. É muito útil para inicializar variáveis e receber parâmetros para definir o comportamento da classe ao longo de sua execução como objeto.
publicclassExemplo{privateStringexemploAtributo;publicExemplo(){System.out.println("Iniciando a construção do objeto");this.exemploAtributo="Esta variável esta sendo construída";System.out.println("Construção completa !");}}
Se não precisar fazer nada no construtor, entao o próprio java te fornece um contrutor “default”, não sendo preciso declarar o método construtor.