I Java kan det være situasjoner der programmereren trenger å begrense funksjonalitetene. Mer spesifikt, i tilfelle av å håndtere tilgang til en ressurs som deles av hele applikasjonen, eller begrense opprettelsen av objekter i koden. I slike tilfeller "
Singleton -klasse”I Java er hjelpende i å få tilgang til funksjonalitetene praktisk.
Denne artikkelen vil demonstrere ved hjelp av og implementere Java Singleton -klassen.
Hva er en "singleton -klasse" i Java?
“Singleton”Tilsvarer et designmønster som lar klassen bare ha et enkelt objekt. For å lage en singleton-klasse, bør du vurdere poengene under levert:
- Tildel klassekonstruktøren som "privat”Å avstå fra objektoppretting utenfor klassen.
- Lag en privat attributt som omfatter den klassetypen som tilsvarer et enkelt opprettede objekt.
- Inkluder en offentlig statisk metode for å lage og påkalle objektet.
Hvordan lage/lage en Java “Singleton Class”?
For å lage en singleton -klasse i Java, bruk følgende tilnærminger:
- “GetInstance ()”Metode.
- Bruke metodenavnet (for å lage et objekt) identisk med klassenavnet.
Eksempel 1: Implementering av "Singleton Class" i Java ved å bruke metoden “GetInstance ()”
“GetInstance ()”Metode gir referansen til det eneste klasseobjektet. Dette eksemplet skaper “Singleton”Klasse ved å bruke denne metoden for å lage det eneste klasseobjektet og påkalle det i“hoved()”Metode via referanse:
Klasse singel
privat statisk singel x;
privat singel ()
public static single getInstance ()
if (x == null)
x = ny singel ();
returner x;
public void display ()
System.ute.Println ("Dette er en singleton -klasse!");
offentlig klasse singleton
public static void main (String [] args)
Enkelt objekt;
objekt = singel.getInstance ();
gjenstand.vise();
I henhold til denne koden, bruk følgende trinn:
- For det første, erklære en singleton -klasse som heter “Enkelt”.
- I sin (klasse) definisjon, spesifiser de oppgitte “statisk”Variabel.
- Lag også en privat klassekonstruktør som sikrer at klasseobjektet ikke kan opprettes utenfor klassen.
- Etter det, bruk "GetInstance ()”Metode og lag et klasseobjekt i sin definisjon på den fornøyde tilstanden i“hvis”Uttalelse.
- Nå, definer en funksjon som heter “vise()”For å logge den medfølgende meldingen.
- I “hoved()”Metode, se“GetInstance ()”Metode og påkalle den inneholdte klassefunksjonen via klassen for å vise den oppgitte meldingen.
Produksjon
Dette utfallet betyr at Singleton -klassen blir påkalt på riktig måte ved å opprette et klasseobjekt i klassen.
Eksempel 2: Implementering av “Singleton Class” i Java som har metodens navn (for å lage et objekt) identisk med klassen
I dette spesielle eksemplet "Singleton”Klasse kan implementeres slik at metoden som oppretter klasseobjektet omfatter samme navn som klassen:
klasse single2
privat statisk single2 x;
privat single2 ()
public static single2 single2 ()
if (x == null)
x = new single2 ();
returner x;
public void display ()
System.ute.Println ("Dette er en singleton -klasse!");
offentlig klasse singleton2
public static void main (String [] args)
Single2 x = single2.Single2 ();
x.vise();
I kodeblokken ovenfor, utfør følgende trinn:
- Husk de diskuterte tilnærmingene for å lage en singleton -klasse, og spesifisere “statisk”Variabel, og lage en“privat”Klassekonstruktør.
- Lag nå en metode som omfatter navnet som er identisk med klassenavnet, i.e., “Single2 ()”Og oppretter på samme måte et klasseobjekt innenfor denne metoden.
- Etter det, vis den medfølgende meldingen via “vise()”Funksjon.
- I “hoved()”Metode, se den identiske klassemetoden ved å referere til den definerte klassen.
- Til slutt, påkalle den inneholdte klassefunksjonen og vise den akkumulerte meldingen.
Produksjon
Ovennevnte utgang indikerer at referansen gjøres på riktig måte og klassefunksjonalitetene kan nås fra "hoved()”Metode til tross for objektet som er opprettet i klassen.
Konklusjon
“Singleton”Tilsvarer et designmønster som lar klassen bare ha ett objekt og kan opprettes via"GetInstance ()”Metode eller bruke metodenavnet (for å lage objekt) identisk med klassenavnet. Dette kan oppnås ved å lage et klasseobjekt i klassen og gi referansen til metoden til “hoved()”Metode. Denne bloggen diskuterte tilnærmingene til å lage en Java Singleton -klasse.