Hva er det statiske initializer i Java?

Utviklere opprettet Java til å fungere som et objektorientert språk gjennom og gjennom. Dette betyr at dets objektorienterte funksjoner som ikke er ettermonteres på en eldre paradigme, som ofte er tilfellet i C ++. Snarere er dens syntaks og struktur bygget for å representere objekter og deres relasjoner i kode. Dette betyr at den inneholder en bestemt syntaks enheter for å lette objektorientert programmering. The Static initializer, for eksempel, lar programmerere å definere komplekse initialiseringsmelding atferd for sine objekter når de brukes av andre programmerere.

Java-klasser

På det mest grunnleggende nivå, Java-funksjoner på grunn av utformingen av sine klasser. En klasse i Java hovedsak fungerer som en blåkopi for objekter som er opprettet i kode. Når programmerer som skaper en klasse design som klasse, må hun alltid vurdere hvordan objektet skal brukes, hvordan den er laget, hva må det må det tilfredsstille, og hva funksjonalitet det tilbyr. Alle disse tingene må komme sammen for å designe en nyttig og velfungerende objekt.

Klassevariabler og initialisering

En del av prosessen med klassen utforming er den initialisering fase. Når en programmerer første skaper, eller "instantiates" og objekt, vil klassen objektet stammer fra initial selv. Java Compiler håndterer grunnleggende om dette, men for noen annen form for nyttig initialiseringsmelding må programmerer av klassen gir en måte å presentere et objekt som allerede er i en viss tilstand. Dette betyr at variablene har standardverdier eller visse datastrukturer er klar for innsetting.

Constructors

Konstruktører tillate brukere av klasser for å opprette objekter med startverdier, og på en måte, har kontroll over hvordan objektene er opprettet. Konstruktører oppfører han samme måte som klassemetoder, bortsett fra at de bare kalt når et nytt objekt blir opprettet. For eksempel har den følgende klasse en enkel konstruktør som gjør at en programmerer for å angi verdiene av to interne variabler, a og b. Så, hvem skaper dette objektet senere kan sette verdiene til hva hun liker:
class Test {

public int a = 0;
public int b = 0;

offentlig Test (int x, int y) {
a = x;
b = y;
}
public static void main (String [] args) {

Test t = new Test (1, 2);
}
}

statisk initialisering

Hvis mer komplekse initialisering er nødvendig, men så grunnleggende konstruktører er kanskje ikke den beste ideen. I stedet må en programmerer bruke en "statisk initializer" for å initialisere et objekt. Ved opprettelse av den klasse, vil programmereren definere en statisk initializer ved hjelp av "statisk" ordet, etterfulgt av den ønskede kode. Disse initializers vil utføre koden før brukeren av klassen har noen sjanse til å sette noen verdier selv. Dette kan hjelpe til å lage standardverdier for komplekse data variabler som datastrukturer eller flerdimensjonale arrays. Et ubegrenset antall statiske initializers kan inkludere i klassen:
public int [] [] j = new int [10] [10];
statisk {
for (int x = 0; x <10; x ++) {
for (int y = 0; y <10; y ++) {
j [x] [y] = 0;
}
}
}