Alguém, poderia me dizer o que são construtores? Para que propósito usaremos construtores? Por que usar construtores ?
O que são construtores?
12 Respostas
hackum construtores sao “parecidos com métodos”, o construtor de uma classe é chamado no momento que vc instancia a mesma.
Por exemplo:
Pessoa pessoa = new Pessoa() // nesse momento o construtor da classe e chamado;
Voce pode ter construtores sobrecarregados ou nao, lembrando que um construtor padrao é o que a JVM cria pra vc, ou seja se vc criar um construtor dessa maneira:
Pessoa(){
// esse construtor mesmo nao tendo parametros ele nao e o construtor padrao, pq vc o criou.
}
Mas para que eu vou usa-lo ?
Bom dia,
Me referindo ao nosso colega de cima que instanciou o Objeto Pessoa,
vc vai utilizar esta instanciação ao definir alguns parametros para o mesmo.
Ex:
Pessoa p1 = new Pessoa();
p1.setNome("Fulano");
neste momento vc “setou” (definiu) um nome para Pessoa.
espero ter ajudado um pouco
abras
Veja:
public class GradeCont {
private String nomeUser;
private String nomeAutor;
private int x;
//meu constutor para a inicialização do programa
public GradeCont(String nomeAlt, String autorAlt, int xz)
{
nomeUser = nomeAlt;
nomeAutor = autorAlt;
x = xz;
}
Chamando…
public class GradeCont1 {
public static void main(String args[])
{
GradeCont mycont1 = new GradeCont();
}
}
Conforme mostrado, como faço para chamar ?
um exemplo simples que vc possa usa-lo, digamos que dentro da classe pessoa vc tem os seguintes atributos:
public class Pessoa {
private String nome;
// Construtor public sobrecarregado, perceba que a variavel local "nomePassadoNoConstrutor" que vai receber a string no momento que vc instanciar a classe.
public Pessoa(String nomePassadoNoConstrutor){
this.nome = nomePassadoNoConstrutor;
}
public String getNome(){
return this.nome;
}
}
aqui uma classe de teste:
public class Teste{
public static void main(String[] args) {
Pessoa pessoa = new Pessoa("joao"); // aqui vc ta passando para o construtor a string literal joao, onde á variavel de instancia nome vai receber esse nome "joao".
System.ou.println(pessoa.getNome()); // e aqui um método para exibir o nome, criei esse método pq a variavel ta private entao nao daria pra exibir buscando ela diretamente.
}
Logico que isso e um exemplo bemm simples e vc poderia criar getters e setters pra fazer isso que to fazendo aqui, isso e so um exemplo pra usar um construtor.
Bom dia,
Construtores funcionam exatamente para instaciar uma classe, toda classe possui uns contrutor, se não for declarado o java vai inserir um na classe. Segue um exemplo de classe e instanciação.public class Pessoa{
String nome;
Pessoa() { //#1
}
Pessoa(String nome){ //#2
nome = this.nome;
}
}
No #1 e um exemplo de um construtor padrrão onde não é passado nada ao fazer instancia do Objeto
No #2 o construtor está pedindo para que você passe uma String para que seja setado na instacia do Objeto
O construtor serve exatamente para determinarmos se queremos que na instaciação seja setado a variavel, como no exemplo a cima se excluirmos a #1 toda vez que instanciarmos a classe pessoa teremos que passar um nome para ela, ou seja, toda pessoa tem que ter um nome.
Espero ter ajudado
Abraços
Eu recomendo você ler sobre programação Orientada a Objetos para clarear suas idéias sobre construtores, classes, atributos e metodos.
Mas simplificando para um exemplo que é bem usado, é o de fazer um bolo…a definição da classe seria a receita do bolo…e quando você chama o construtor para instanciar um objeto da classe, seria como fazer o bolo…
Bem este exemplo é só uma analogia para você entender o que seria um construtor…mas tente ler mais sobre o assunto…
O construtor você geralmente utiliza para inicializar e configurar atributos da classe/objeto para o objeto que você está instanciando…e quando você chama o construtor você está criando um objeto na memória para você manipulá-lo em seu programa…é mais ou menos isso.
Obrigado a todos que me responderam! Mas no caso do exemplo de Everton, eu quero colocar mais varáveis de instância em meu CONSTRUTOR, e chama-lo as três, como é possivel ?
Obrigado a todos que me responderam! Mas no caso do exemplo de Everton, eu quero colocar mais varáveis de instância em minha classe, e chama-lo as três, como é possivel ?
public class Pessoa {
private int idade;
private String nome;
private String sobreNome;
public Pessoa(int idade, String nome, String sobreNome) {
this.idade = idade;
this.nome = nome;
this.sobreNome = sobreNome;
}
}
para chamar
Pessoa p = new Pessoa(20, 'jose', 'da silva');
repare que a ordem de chamada dos parametros do construtor é importante..
o this serve para você identificar um atributo da classe :D
Pegando seu exemplo de uma olhada:
public class GradeCont {
private String nomeUser;
private String nomeAutor;
private int x;
//meu constutor para a inicialização do programa
public GradeCont(String nomeAlt, String autorAlt, int xz)
{
nomeUser = nomeAlt;
nomeAutor = autorAlt;
x = xz;
}
public class GradeCont1{
public static void main(String args[])
{
GradeCont mycont1 = new GradeCont("nomeAlt", "autorAlt", 10);
}
}
Cara estou vendo todos nós portarmos sempre a mesma coisa pra vc… e mesmo assim ainda vc está com duvidas…
acho que esses tópicos vão complicar a mais ainda sua vida, pois existem diversas coisas para serem aprendidas.
Ex:
Criação de Getters e Setters, método main e etc…
estude esta apostila da Caelum, que esta explicando td certinho uma coisa por vez…
http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/
vlw abras
Obrigado, consigui compreender , André Fonseca!
E obrigado a todos que responderam!