GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

O Que é construtor?


#1

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:


#2

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

Vamos a um exemplo:

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;
   }
}

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


#3

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


#4

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);
	}
}

#5

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


#6

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.


#7