Vídeo: Guia Completo Android - Como usar Try Catch em Java para evitar falhas comuns Aula 31 2024
Às vezes, você deseja criar uma classe Java que não pode ser instanciada. Tal classe consiste inteiramente em campos e métodos estáticos. Um bom exemplo na API Java é a classe
Matemática
.
Seus métodos fornecem funções de tipo de utilidade que não estão realmente associadas a um objeto específico. Talvez seja necessário criar algumas classes similares de vez em quando. Você pode criar uma classe com métodos estáticos para validar dados de entrada, por exemplo, ou uma classe de acesso ao banco de dados que tenha métodos estáticos para recuperar dados de um banco de dados. Você não precisa criar instâncias de nenhuma dessas classes.
Você pode usar um truque simples para evitar que alguém instancie uma classe. Para criar uma instância de classe, você deve ter pelo menos um construtor público. Se você não fornecer um construtor na sua classe, o Java insere automaticamente um construtor padrão, que é público.
Tudo o que você precisa fazer para evitar que uma instância da classe seja criada, então, é fornecer um único construtor privado, assim:
Validação de classe pública
{
validação privada () {} // impede instâncias
// métodos e campos estáticos, vá aqui
}
Agora, porque o construtor é privado, a classe não pode ser instanciada.
Aliás, a classe
Matemática
usa essa técnica para impedir que você crie instâncias dela. Aqui está um trecho real de código da classe
Matemática
:
classe final pública Matemática {
/ **
* Não deixe ninguém criar uma instância dessa classe.
* /
private Math () {}
Se este truque é bom o suficiente para as pessoas que escreveram a classe
Matemática
, provavelmente é bom o suficiente para você.