En Java, puede haber situaciones en las que el programador necesita limitar las funcionalidades. Más específicamente, en el caso de administrar el acceso a un recurso que comparten toda la aplicación, o limita la creación de objetos en el código. En tales casos, el "
clase singleton"En Java es asistencia para acceder a las funcionalidades convenientemente.
Este artículo demostrará usar e implementar la clase Java Singleton.
¿Qué es una "clase Singleton" en Java??
"único"Corresponde a un patrón de diseño que permite que la clase tenga un solo objeto. Para crear una clase Singleton, considere los puntos proporcionados a continuación:
- Asignar el constructor de clase como "privado"Para abstenerse de la creación de objetos fuera de la clase.
- Hacer un atributo privado que comprende el tipo de clase que corresponde a un solo objeto creado.
- Incluir un método estático público para crear e invocar el objeto.
Cómo crear/hacer una "clase Singleton" de Java "?
Para crear una clase Singleton en Java, aplique los siguientes enfoques:
- "obtener Instancia()" Método.
- Uso del nombre del método (para crear un objeto) idéntico al nombre de clase.
Ejemplo 1: Implementación de "clase Singleton" en Java usando el método "getInstance ()"
El "obtener Instancia()El método "proporciona la referencia al único objeto de clase. Este ejemplo crea el "único"Clase utilizando este método para crear el único objeto de clase e invocarlo en el"principal()"Método a través de referencia:
clase Single
sencillo estático privado X;
soltero privado ()
Public static single getInstance ()
if (x == null)
x = nuevo single ();
regresar x;
Public void display ()
Sistema.afuera.println ("Esta es una clase singleton!");
Singleton de clase pública
public static void main (string [] args)
Objeto único;
objeto = único.obtener Instancia();
objeto.mostrar();
De acuerdo con este código, aplique los siguientes pasos:
- En primer lugar, declare una clase singleton llamada "Soltero".
- En su definición (de clase), especifique la indicada "estático" variable.
- Además, cree un constructor de clase privada que garantice que el objeto de clase no se pueda crear fuera de la clase.
- Después de eso, aplique el "obtener Instancia()Método "y crear un objeto de clase en su definición sobre la condición satisfecha en el"si" declaración.
- Ahora, defina una función llamada "mostrar()"Para registrar el mensaje proporcionado.
- En el "principal()"Método, consulte el"obtener Instancia()"Método e invoca la función de clase contenida a través de la clase para mostrar el mensaje establecido.
Producción
Este resultado significa que la clase Singleton se invoca adecuadamente creando un objeto de clase dentro de la clase.
Ejemplo 2: Implementación de "clase Singleton" en Java que tiene el nombre del método (para crear un objeto) idéntico a la clase
En este ejemplo particular, el "único"La clase se puede implementar de modo que el método que crea el objeto de clase comprende el mismo nombre que el de la clase:
clase Single2
Single2 x static privado;
privado single2 ()
public static single2 single2 ()
if (x == null)
x = nuevo single2 ();
regresar x;
Public void display ()
Sistema.afuera.println ("Esta es una clase singleton!");
clase pública Singleton2
public static void main (string [] args)
Single2 x = single2.Single2 ();
X.mostrar();
En el bloque de código anterior, realice los siguientes pasos:
- Recuerde los enfoques discutidos para crear una clase singleton, especificando el "estático"Variable, y creando un"privado"Constructor de clase.
- Ahora, cree un método que comprenda el nombre idéntico al nombre de la clase, yo.mi., "Single2 ()"Y de manera similar crea un objeto de clase dentro de este método.
- Después de eso, muestre el mensaje proporcionado a través del "mostrar()" función.
- En el "principal()Método ", consulte el método de clase idéntico refiriéndose a la clase definida.
- Finalmente, invoca la función de clase contenida y muestre el mensaje acumulado.
Producción
La salida anterior indica que la referencia se realiza de manera adecuada y se puede acceder a las funcionalidades de clase desde el "principal()Método a pesar del objeto creado dentro de la clase.
Conclusión
"único"Corresponde a un patrón de diseño que permite que la clase tenga solo un objeto y se pueda crear a través del"obtener Instancia()Método "o utilizando el nombre del método (para crear objeto) idéntico al nombre de clase. Esto se puede lograr creando un objeto de clase dentro de la clase y pasando la referencia del método al "principal()" método. Este blog discutió los enfoques para crear una clase de Java Singleton.