Construtores
Para criar uma instância de uma classe, tudo o que você precisa fazer é escrever um new antes dela. Por exemplo:
Random r = new Random();
Primeiro, você declara o tipo que vai criar (Random) e dá à variável um nome (r). Isso dá ao Java um local para armazenar uma referência do objeto. Então você escreve novo Random() para realmente criar o objeto.
Random() parece um método, pois é seguido por parênteses. É chamado de construtor, que é um tipo especial de método que cria um novo objeto. Agora é hora de definir um construtor de sua preferência:
public class Chick {
public Chick() {
System.out.println("in constructor");
}
}
Existem dois pontos-chave para observar sobre o construtor: o nome do construtor corresponde ao nome da classe e não há nenhum tipo de retorno. Você provavelmente verá um método como esse no exame:
public void Chick() { } // NOT A CONSTRUCTOR
Quando você vê um nome de método começando com uma letra maiúscula e tendo um tipo de retorno, preste atenção especial a isso. Não é um construtor, pois há um tipo de retorno. É um método normal que não será chamado quando você escrever o new Chick().
A finalidade de um construtor é inicializar campos, embora você possa colocar qualquer código lá. Outra maneira de inicializar os campos é fazê-lo diretamente na linha em que eles estão declarados. Este exemplo mostra as duas abordagens:
public class Chicken {
int numEggs = 0;// initialize on line
String name;
public Chicken() {
name = "Duke";// initialize in constructor
}
}
Para a maioria das classes, você não precisa codificar um construtor - o compilador fornecerá “um nada” construtor padrão para você. Há um cenário que exige que você declare um construtor que você aprenderá no Capítulo 5.