logo

Hvorfor bruker vi statisk klasse i Java?

I Java, statisk er et nøkkelord som kan brukes med variabler, klasser, blokker og metoder. Når vi bruker det statiske nøkkelordet før noen av dem, betyr det at spesifisert medlem tilhører en type selv. Med andre ord, en forekomst av et statisk medlem opprettes og deles på tvers av alle forekomstene av klassen.

I denne delen vil vi bruke statisk nøkkelord med Java klasse og også forstå hvorfor bruker vi en statisk klasse?

fjærverktøypakke

Java statisk klasse

Vi kan erklære en klasse statisk ved å bruke nøkkelordet static. En klasse kan bare erklæres statisk hvis den er en nestet klasse . Det krever ingen referanse til den ytre klassen. Egenskapen til den statiske klassen er at den ikke gir oss tilgang til de ikke-statiske medlemmene av den ytre klassen.

For å forstå begrepet statisk klasse må vi først forstå begrepet indre Ytre, og nestet klasse.

Indre klasse

Klassene som er ikke-statiske og nestede kalles indre klasser . Merk at vi ikke kan lage en forekomst av den indre klassen uten å lage en forekomst av den ytre klassen. Uten å bruke referansen til den ytre klasseforekomsten, kan en forekomst av den indre klassen få tilgang til medlemmene av dens ytre klasse. Det gjør programmet enkelt og konsist.

Ytre klasse

Klassen der nestet klasse er definert kalles ytre klasse .

java fargekoder

Nestet klasse

Java lar oss definere en klasse innenfor en klasse som er kjent som en nestet klasse . Det kan være statisk eller ikke-statisk. Den største forskjellen mellom statisk og ikke-statisk klasse er at:

  • En forekomst av den statiske nestede klassen kan opprettes uten å opprette en forekomst av dens ytre klasse.
  • De statiske og ikke-statiske medlemmene av en ytre klasse kan nås av en indre klasse.
  • De statiske medlemmene av den ytre klassen kan bare nås av den statiske klassen.

Huske

  • Alle statiske klasser er nestede klasser, men omvendt er ikke sant.
  • Den har kun tilgang til statiske medlemmer av den ytre klassen.
  • Ikke-statiske variabel- og instansmetoder kan ikke nås innenfor den statiske klassen. Hvis du prøver å få tilgang til en ikke-statisk referanse fra et statisk felt, gir det en feilmelding: Kan ikke gjøre en statisk referanse til det ikke-statiske feltet.
  • Vi kan lage statiske blokker, variabler og metoder i en statisk klasse.
  • En klasse kan ha flere statiske klasser.
  • Vi kan ikke få tilgang til den statiske klassen hvis den er inne i den statiske blokken.
  • Det kan være et hvilket som helst antall statiske klasser innenfor en statisk klasse.

Java Static Class Eksempel

JavaStaticClassExample.java

 public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } } 

Produksjon:

 Javatpoint 

Hvorfor bruker vi statisk klasse i Java?

I Java brukes det statiske nøkkelordet først og fremst for minnebehandling. Vi kan bruke det statiske nøkkelordet med variabler, metoder, blokker og klasser. Å bruke den statiske klassen er en måte å gruppere klasser på. Den brukes også for å få tilgang til det primitive medlemmet av den omsluttende klassen gjennom objektreferansen. De statiske klassene lastes av klasselasteren på tidspunktet for den første bruken, bare ikke når den omsluttende klassen lastes.