O Que é construtor?

Ei galera
Eu to com muitas dúvidas no Construtor.
Será que alguém pode me explicar e de quebra me da um exemplo.
Tenho prova semana que vem e ainda não consegui enteder o porque usar construtor.
Abraços a todos e aguardo. :smiley:

1 curtida

Construtor é um metodo especial que é chamado sempre que é criado um objeto.

Vamos a um exemplo:

[code]class Pessoa {
String tipo = “”;
public Pessoa(String tipo){
this.tipo = tipo; //Aqui, o this.tipo representa a variavel que esta fora do escopo, ou seja, o que recebemos como argumento
//é passado para a variavel de instancia.
}

public String getTipo(){
return tipo;
}
}[/code]

class Executa { public static void main(String args[]){ Pessoa p = new Pessoa("Pessoa Juridica"); System.out.println("O tipo de pessoa é: "+p.getTipo()); } }

Ai, na classe Executa, quando eu crio o objeto p, eu estou enviando como argumento a String Pessoa Juridica. Veja que la na classe Pessoa, existe um metodo com o mesmo nome da classe. Isso é uma obrigação de construtor, o nome ser o mesmo da classe.

O tipo que esta sendo enviado como parametro tambem influencia, pois ele se comparta como um metodo comum, embora nao seja um metodo, pois so é executado quando a classe é iniciada, e nao mais de uma vez.

Entao, voce deve se lembrar:
1 - O construtor tem sempre o mesmo nome da classe.
2 - Ele so sera chamado quando for criado o objeto da classe, e nao mais.
3 - Ele nao tem tipo de retorno. Nem mesmo void!
4 - Caso voce nao esteja certo a respeito do tipo de argumento, voce pode criar varios construtores, lembrando que o que muda é os argumentos e suas ordens.
5 - Mesmo que voce nao esteja criando um construtor, por padrao, o Java tem um construtor vazio. Caso caia na prova, tenha em mente isso. Isso acontece porque sempre que criamos um objeto, colocamos o () no final. Agora, se nao tivessemos esse construtor vazio, seria emitido um erro. Ou seja, qualquer construtor que voce cria, na verdade voce esta sobrescrevendo o construtor ja existente.

Bem, eu lembro disso por enquanto, qualquer coisa, so perguntar.

Abraços

1 curtida

Um método construtor é o método onde tem as instrucoes que serao executadas SEMPRE que for instanciado um objeto desta classa…

Serve pra qualquer coisa!

public class Oi{
    Oi(){
       System.out.println("Oi");
     }
}
public class OiTeste{
    public static void main(){
       Oi x = new Oi();
    }
}

TOda vez que voce instancia um objeto, voce chama o construtor da classe isntanciada

a saida é Oi

Sempre que usamos a palavra new estamos construindo algum objeto.Sempre que o new é chamado ele executa o construtor da classe.
O constutor é um bloco que utiliza o mesmo nome da classe.
O construtor pode receber argumentos ou não. Serve também para inicialização de variáveis.
Ex:

package construtor;

public class Principal {

	public static void main(String[] args) {

		Idade i = new Idade("Fernando", 26);
		i.mostraValores();
	}

}
package construtor;

public class Idade {

	private String nome;
	private int idade;
	
	public Idade(String nome, int idade) {
		System.out.println("Chamando o construtor da classe idade e inicializando as variáveis!");
		this.nome = nome;
		this.idade = idade;
	}
	
	public void mostraValores(){
		System.out.println("Nome: " + nome + "\n" + "Idade: " + idade);
		
	}
}

Lembrando que: Quando não inicializado… a própria JVM se encarrega de criar um construtor padrão.

Construtor não é um método especial! É um bloco de inicialização.
Um método pode ser chamado a qualquer momento, pode conter ou não algum tipo de retorno, e o construtor só é chamado na criação de um objeto e não contém retorno nenhum.