Metodos construtores

4 respostas
leosnake

nao consegui entender para que servem os metodos construtores e qual a necessidade de utiliza-los. se eu faco uma classe onde defino variaveis de instancia, e alguns metodos, pq criar um metodo contrutor para essas variaveis de instancia?

4 Respostas

Daniel_T_S

O construtor é o bloquinho (termo técnico) de código que vai ser executado toda vez que o objeto for instanciado.

Por exemplo, se eu quero ter uma informação no console toda vez que uma ‘Conta’ seja instanciada posso usar o construtor veja:

public class Conta{

      private double saldo;       

      public Conta{
              System.out.println("Uma nova conta foi criada");
      }

}

Todas as vezes que uma nova conta for criada uma mensagem “Uma nova conta foi criada” será impressa.

Mas o construtor também pode ser utilizado para definir valores para variáveis de instância assim que o objeto for criado.
Se você desejasse que um objeto Conta já fosse criado com o valor de R$ 100,00 poderia fazer isso:

public class Conta{

      private double saldo;       

      public Conta{
              saldo = 100;
      }

}

Assim toda conta recém criada já vem com 100,00 reais.

Entendeu?

Valeu.

leosnake

Daniel T.S:
O construtor é o bloquinho (termo técnico) de código que vai ser executado toda vez que o objeto for instanciado.

Por exemplo, se eu quero ter uma informação no console toda vez que uma ‘Conta’ seja instanciada posso usar o construtor veja:

public class Conta{

      private double saldo;       

      public Conta{
              System.out.println("Uma nova conta foi criada");
      }

}

Todas as vezes que uma nova conta for criada uma mensagem “Uma nova conta foi criada” será impressa.

Mas o construtor também pode ser utilizado para definir valores para variáveis de instância assim que o objeto for criado.
Se você desejasse que um objeto Conta já fosse criado com o valor de R$ 100,00 poderia fazer isso:

public class Conta{

      private double saldo;       

      public Conta{
              saldo = 100;
      }

}

Assim toda conta recém criada já vem com 100,00 reais.

Entendeu?

Valeu.

a explicacao foi muito boa, obrigado
mas se eu criar um programa sem um metodo contrutor ele vai funcionar tbm certo?

Daniel_T_S

Sim ele funciona porque o compilador faz um construtor padrão pra você.
O construtor padrão é assim:

public NomeDaClasse(){
       super();
}

que é um construtor vazio. Esse ‘super();’ é uma chamada ao construtor da super classe.

carlosmoreira

Só acrescentando o que o Daniel T.S falou.

Se vc criar um construtor, qualquer que seja, o compilador java não vai criar o padrão, por exemplo:

se vc criar um contrutor

public NomeDaMinhaClasse (String nome) {
    this.nome = nome;
}

o compilador não vai fazer o padrão, então se vc precisar de um vazio vai precisar fazer por conta.

O construtor tmb define como sua classe será instanciada, se vc só deixar o construtor acima significa que quem quer que queira (quanto Q) utilizar sua classe terá OBRIGATÓRIAMENTE passar um nome para a variável “nome”.

Criado 22 de julho de 2013
Ultima resposta 25 de jul. de 2013
Respostas 4
Participantes 3