Em Java, pode haver situações em que o programador precisa limitar as funcionalidades. Mais especificamente, no caso de gerenciar o acesso a um recurso compartilhado por todo o aplicativo ou limitando a criação de objetos no código. Nesses casos, o “
Classe Singleton”Em Java, está auxiliando em acessar as funcionalidades convenientemente.
Este artigo demonstrará o uso e a implementação da classe Java Singleton.
O que é uma "classe singleton" em Java?
““Singleton”Corresponde a um padrão de design que permite que a classe tenha apenas um objeto. Para criar uma aula de singleton, considere os pontos abaixo fornecidos:
- Alocar o construtor de classe como “privado”Para abster -se da criação de objetos fora da classe.
- Faça um atributo privado compreendendo o tipo de classe que corresponde a um único objeto criado.
- Inclua um método estático público para criar e invocar o objeto.
Como criar/fazer uma Java "Singleton Class"?
Para criar uma aula de singleton em Java, aplique as seguintes abordagens:
- ““getInstance ()”Método.
- Usando o nome do método (para criar um objeto) idêntico ao nome da classe.
Exemplo 1: Implementando "Classe Singleton" em Java usando o método "getInstance ()"
O "getInstance ()”O método fornece a referência ao único objeto de classe. Este exemplo cria o “Singleton”Classe utilizando esse método para criar o único objeto de classe e invocá -lo no“principal()”Método via referência:
classe única
private estático único x;
privado single ()
public static single getInstance ()
if (x == null)
x = novo single ();
retornar x;
public void Display ()
Sistema.fora.println ("Esta é uma aula de singleton!");
classe pública Singleton
public static void main (string [] args)
Objeto único;
objeto = único.getInstance ();
objeto.mostrar();
De acordo com este código, aplique as seguintes etapas:
- Em primeiro lugar, declare uma classe singleton chamada “Solteiro”.
- Na sua definição (classe), especifique o declarado “estático" variável.
- Além disso, crie um construtor de classe privada que garante que o objeto de classe não possa ser criado fora da classe.
- Depois disso, aplique o “getInstance ()”Método e crie um objeto de classe em sua definição sobre a condição satisfeita no“se" declaração.
- Agora, defina uma função chamada “mostrar()”Para registrar a mensagem fornecida.
- No "principal()”Método, consulte o“getInstance ()”Método e invocar a função de classe contida via classe para exibir a mensagem declarada.
Saída
Esse resultado significa que a classe Singleton é invocada adequadamente, criando um objeto de classe dentro da classe.
Exemplo 2: Implementando “Classe Singleton” em Java com o nome do método (para criar um objeto) idêntico à classe
Neste exemplo em particular, o “Singleton”A classe pode ser implementada de modo que o método que cria o objeto de classe compreenda o mesmo nome que o da classe:
classe single2
private estático single2 x;
privado single2 ()
public static single2 single2 ()
if (x == null)
x = novo single2 ();
retornar x;
public void Display ()
Sistema.fora.println ("Esta é uma aula de singleton!");
classe pública singleton2
public static void main (string [] args)
Single2 x = single2.Single2 ();
x.mostrar();
No bloco de código acima, execute as seguintes etapas:
- Lembre -se das abordagens discutidas para criar uma aula de singleton, especificando o “estático”Variável, e criando uma“privado”Construtor de classe.
- Agora, crie um método compreendendo o nome idêntico ao nome da classe, eu.e., ““Single2 ()”E crie da mesma forma um objeto de classe dentro deste método.
- Depois disso, exiba a mensagem fornecida através do “mostrar()”Função.
- No "principal()”Método, consulte o método de classe idêntica, referindo -se à classe definida.
- Finalmente, invocar a função de classe contida e exibir a mensagem acumulada.
Saída
A saída acima indica que a referência é feita adequadamente e as funcionalidades da classe podem ser acessadas a partir do “principal()”Método, apesar do objeto criado dentro da classe.
Conclusão
““Singleton”Corresponde a um padrão de design que permite que a classe tenha apenas um objeto e pode ser criado através do“getInstance ()”Método ou usando o nome do método (para criar objeto) idêntico ao nome da classe. Isso pode ser conseguido criando um objeto de classe dentro da classe e passando a referência do método para o “principal()”Método. Este blog discutiu as abordagens para criar uma aula de Java Singleton.