[color=“red”][/color][size=“18”][/size] :lol: Por favor estou começando esse semestre em java e estou meio perdida, quem poder me ajudar quanto a entender os construtores em java agradeço!
Oi
Cleo, bom, os construtores são aqueles que são executados ao se criar uma nova instancia de uma classe… Bom, posta aí tua dúvida com mais detalhes que ajudaremos com mais detalhes…
T+
Manda suas dúvida que faremos o máximo para te ajudar. Não se desespere.
Os construtores são “métodos” próprios para instanciar objetos. Voce já viu um exemplo igual a esse:
JTextField textoFld = new JTextField( 10 );
ou
JLabel nomeLbl = new JLabel( "Nome" );
Vc observou que ele declarou os objetos ( textoFld e nomeLbl ) e logo depois instanciou eles ( new JTextField( 10 ) e new JLabel( “Nome” ))? Quando ele instanciou os objetos utilizou os construtores dos respectivos objetos.
Por exemplo:
Quando eu crio uma classe para guardar os dados de um determinado horário:
class Horario
{
private int hora;
private int minuto;
private int segundo;
public Horario()
{
hora = 0;
minuto = 0;
segundo = 0;
}
public Horario( int h, int m, int s )
{
hora = h;
minuto = m;
segundo = s;
}
}
Primeiro passo para uma análise: como diferencio um método de um construtor? Resposta: o construtor não tem nem um tipo de retorno e tem o mesmo nome da classe.
Segundo: vc reparou que a classe possui dois construtores? O primeiro eu utilizo para o caso em que eu instancio o objeto Horario com os dados zerados:
Ex:
Horario hora = new Horario();
O objeto de Horario acima forneceria o seguinte horário: 00:00:00.
Com o outro construtor eu posso instanciar o objeto com os dados de horários já estabelecidos.
Ex:
Horario hora = new Horario( 22, 45, 34 );
O objeto de Horario acima forneceria o seguinte horário: 22:45:34.
Acho que agora vc deve ter se “achado” um pouquinho, né? :lol: (Brincadeira)
Caso vc tenha alguma dúvida, manda um post pra gente!!!
Saudações!
Só complementando o que Wanderson explicou, os construtores têm de ser criados para garantir que cada objeto inicie sua existência num estado consistente. No caso das horas, que não lhes sejam atribuídas, por exemplo, um número negativo. Se você não declara um método construtor, não se preocupe, um construtor default é criado automaticamente.
[color=“green”]//Wellington Candeia[/color]
[color=“blue”]this[/color].wCandeia();