Como funciona o método construtor?

09/04/2009

0

Pessoal, tenho uma dúvida: Como funciona o método construtor? Gostaria de um exemplo básico. Valeu :!:
Rogerio_melo

Rogerio_melo

Responder

Post mais votado

09/04/2009

Construtores são métodos especiais chamados pelo sistema no momento da criação de um objeto. Eles não possuem valor de retorno, porque você não pode chamar um construtor para um objeto, você só usa o construtor no momento da inicialização do objeto. Construtores representam uma oportunidade de inicializar seus dados de forma organizada, imagine se você esquece de inicializar corretamente ou o faz duas vezes, etc. Um construtor tem sempre o mesmo nome da classe a qual pertence. Para a classe String, pré-definida na linguagem o construtor tem a forma String("Constante do tipo String"); com o argumento entre aspas que é especificado pelo programador. Ele seria chamado automaticamente no momento da criação, declaração de uma String, sem necessidade de uso do nome do construtor como método, apenas dos argumentos:
String a;
a=new String("Texto");  //alocacao e inicializacao atraves do construtor
a.mostra(); //mostra so pode ser chamada depois do construtor
[url=http://www.ic.unicamp.br/~cmrubira/aacesta/java/javatut.html]Leia mais...[/url] []'s

Dalton

Dalton
Responder

Mais Posts

09/04/2009

Lucas Teixeira

Um método construtor é o método onde tem as instrucoes que serao executadas SEMPRE que for instanciado um objeto desta classa.... Exemplo... Classe [b]MinhaClasse.java[/b]
public class MinhaClasse {
   public MinhaClasse() { //esse é o metodo construtor
      System.out.println("Oi!");
   }
}
No metodo construtor, sera impresso "Oi!" agora para testar... Classe [b]Teste.java[/b]
public class Teste {
   public static void main(String args[]) {
      MinhaClasse Obj1 = new MinhaClasse();
   }
}
Pronto... só de instanciar o obj... já executa o construtor, e imprime!!! :!: :!: :!: :!: :o :o
Responder

09/04/2009

Rogerio_melo

Agora entendi!!! Obrigado pelas respostas. :lol:
Responder

09/04/2009

Bruno Borges

tudo q o dalton falou eh valido... soh deixo bem claro o seguinte: Construtor NAO eh metodo... mesmo q vc queira chama-lo de "metodo especial"... eskece! NAO eh metodo... :P ouviu bem? NAO eh metodo! eh CONSTRUTOR... :D :idea:
Responder

09/04/2009

Marcos Pereira

Da [url=http://java.sun.com/docs/books/jls]Java Language Specification[/url]: [url=http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#41652]Constructor Declarations[/url] [color=white:36dd081b83][size=9:36dd081b83]Leiam Java Language Specification! Leiam Java Language Specification! Leiam Java Language Specification![/size:36dd081b83][/color:36dd081b83] valeuz...
Responder

09/04/2009

Rainer Medrado

Cara, só mais uma coisa, no exemplo abaixo: [b]public class Pessoa { String nome; // Construtor public Pessoa(String nome) { this.nome=nome; } public void setNome(String nome) { this.nome = nome; } public String getNome() { return nome; } } ==================== public class Teste { String nome = "Rainer"; Pessoa p = new Pessoa(); //Erro, pois eu sobrescrevi o meu construtor padrão, e o atual pede uma String como parâmetro. Pessoa p = new Pessoa(nome); // Assim funciona p.getNome(); }[/b] Então vc só tem que cuidar desse detalhe, que quando você sobreescrever o constutor padrão de uma classe, vc tem que passar os parâmetos, conforme vc definiu. Blz....T+ Rainer :!:
Responder

09/04/2009

Rainer Medrado

Foi mal Miojo... É que uma das literaturas que eu estou consultando para aprender Java, tratou Contrutor como um método. Agora aprendi. Valeu!
Responder

09/04/2009

Carlos Coral

[quote="jack_-_ganzha"]Da [url=http://java.sun.com/docs/books/jls]Java Language Specification[/url]: [url=http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#41652]Constructor Declarations[/url] [color=white:12bf21e5ea][size=9:12bf21e5ea]Leiam Java Language Specification! Leiam Java Language Specification! Leiam Java Language Specification![/size:12bf21e5ea][/color:12bf21e5ea] valeuz...
E ae jack_-_ganzha? Está apelando para mensagem subliminar para que o povo leia a especificação de Java? É massa!!! huahauhauahuahua. :o :o :o
Responder

09/04/2009

Carlos Barretto

[quote="Rainer"]Cara, só mais uma coisa, no exemplo abaixo: [b]public class Pessoa { String nome; // Construtor public Pessoa(String nome) { this.nome=nome; } public void setNome(String nome) { this.nome = nome; } public String getNome() { return nome; } } ==================== public class Teste { String nome = "Rainer"; Pessoa p = new Pessoa(); //Erro, pois eu sobrescrevi o meu construtor padrão, e o atual pede uma String como parâmetro. Pessoa p = new Pessoa(nome); // Assim funciona p.getNome(); }[/b] Então vc só tem que cuidar desse detalhe, que quando você sobreescrever o constutor padrão de uma classe, vc tem que passar os parâmetos, conforme vc definiu. Blz....T+ Rainer :!:
isso aí, se vc nao cria um construtor ele automaticamente cria um default mas se especifica um o default não é criado!!! :!:
Responder

09/04/2009

Carlos Barretto

[quote="jack_-_ganzha"]Da [url=http://java.sun.com/docs/books/jls]Java Language Specification[/url]: [url=http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#41652]Constructor Declarations[/url] [color=white:399e99d61e][size=9:399e99d61e]Leiam Java Language Specification! Leiam Java Language Specification! Leiam Java Language Specification![/size:399e99d61e][/color:399e99d61e] valeuz...
Boooooooooa! hehehehe foi bem sutil! :wink:
Responder

18/05/2011

Fábio Pinto

public class Pessoa
{
private String nome;


// Construtor
public Pessoa(String novoNome)
{
this.setNome(novoNome);   // Assim é mais correto
}


public void setNome(String nome)
{
this.nome = nome;
}

public String getNome()
{
return nome;

}

}
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar