Ниже приведена демонстрация использования шаблона Singleton в java. Он использует Ленивая инициализация , так что экземпляр-одиночка выделяется только по вызову.
Идея одноэлементного шаблона заключается в том, чтобы в основном обеспечить, чтобы класс имел только один экземпляр , в то же время предоставляя глобальную точку доступа к этому экземпляру .
И чтобы достичь этого, базовая c методология состоит в том, чтобы сохранять конструктор закрытым, в то же время предоставляя метод publi c для получения экземпляра-одиночки этого класса .
import java.util.*;
import java.lang.*;
import java.io.*;
class Box
{
private int x,y,z;
private static Box instance;
private Box(){
x=y=z=2;
}
public static Box getSingleTonInsnace(){
if(instance == null){
instance = new Box();
}
return instance;
}
public String toString(){
return String.format("Box with volume = %d", x*y*z);
}
}
public class Main
{
public static void main (String[] args) throws java.lang.Exception
{
Box box = Box.getSingleTonInsnace();
System.out.println(box);
}
}
Вы также можете просмотреть эту ссылку , чтобы узнать больше о других способах использования шаблона синглтона в java.