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.
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
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.