Hvad er et statisk søgeord i Java?
I Java er nøgleord de reserverede ord, der ikke kan bruges som identifikatorer. I alt er der 57 nøgleord i Java. En af dem er "Statisk “. I denne artikel vil jeg give dig et kort indblik i, hvordan statiske søgeord i Java er anvendelige til forskellige aspekter af programmering.
Nedenstående emner er dækket i denne artikel:
- Introduktion til statiske søgeord i Java
- Anvendelser af statisk søgeord
- Statisk blok
- Statisk variabel
- Statisk metode
- Statiske klasser
Introduktion til statisk søgeord i Java
I Java, statisk søgeord bruges hovedsageligt til hukommelsesstyring. Det kan bruges med variabler, metoder, blokke og indlejrede klasser. Det er et nøgleord, der bruges til at dele den samme variabel eller metode i en given klasse. Grundlæggende bruges statisk til en konstant variabel eller en metode, der er den samme for hver forekomst af en klasse. Hovedmetoden for en klasse er generelt mærket statisk.
For at oprette et statisk medlem (blok, variabel, metode, indlejret klasse), skal du foran dets erklæring med nøgleordet statisk . Når et medlem af klassen er erklæret som statisk, kan den tilgås, før objekterne i dens klasse er oprettet, og uden nogen objektreference.
I Java-programmeringssproget er statisk nøgleord en ikke-adgangsmodifikator og kan bruges til følgende:
- Statisk blok
- Statisk variabel
- Statisk metode
- Statiske klasser
Lad os komme ind på detaljerne i hver af disse metoder ved hjælp af et eksempel.
Anvendelser af statisk søgeord
Lad os først forstå, hvordan statisk blok bruges i programmeringssproget Java.
Statisk blok
Hvis du skal udføre beregningen for at initialisere dine statiske variable , kan du erklære en statisk blok, der udføres nøjagtigt én gang, når klassen først indlæses. Tag et kig på nedenstående Java-program for at forstå brugen af Static Block.
// Java program to demonstrate the use of static blocks import java.util.*; public class BlockExample{ // static variable static int j = 10; static int n; // static block static { System.out.println("Static block initialized."); n = j * 8; } public static void main(String[] args) { System.out.println("Inside main method"); System.out.println("Value of j : "+j); System.out.println("Value of n : "+n); } }
Når du udfører ovenstående program, initialiseres statisk blok og viser værdierne af de initialiserede variabler.
Output :
Static block initialized Inside main method Value of j:10 Value of n : 80
Nu hvor du ved, hvordan statisk blok fungerer, lad os gå videre og se, hvad der er statiske variabler, og hvordan det er nyttigt.
Statisk variabel
Når du erklærer en variabel som statisk, oprettes en enkelt kopi af variablen og opdeles mellem alle objekter på klasseniveau. Statiske variable er i det væsentlige globale variable. Grundlæggende deler alle forekomster af klassen den samme statiske variabel. Statiske variabler kan kun oprettes på klasseniveau.
Lad os nu forstå dette ved hjælp af et eksempel.
// Java program demonstrate execution of static blocks and variables import java.util.*; public class VariableExample { // static variable static int j = n(); // static block static { System.out.println("Inside the static block"); } // static method static int n() { System.out.println("from n "); return 20; } // static method(main !!) public static void main(String[] args) { System.out.println("Value of j : "+j); System.out.println("Inside main method"); } }
Når du udfører ovenstående program, vil det udføre statisk blok og variablen i rækkefølge som defineret i ovenstående program.
Output:
from n Inside the static block Value of j: 20 Inside main method
Når vi har forstået dette, så lad os dykke dybere ned i denne artikel om statiske søgeord i Java og vide, hvad statiske metoder og indlejrede klasser er.
Statiske metoder
Når en metode er erklæret med statisk søgeord, er det kendt som en statisk metode. Det mest almindelige eksempel på en statisk metode er main( ) metode. Metoder, der er erklæret som statiske, kan have følgende begrænsninger:
De kan kun kalde andre statiske metoder direkte.
De kan få direkte adgang til statiske data.
Lad os nu forstå statiske metoder ved hjælp af et eksempel
// java program to demonstrate restriction on static methods public class StaticMethodExample { // static variable static int j = 100; // instance variable int n = 200; // static method static void a() { a = 200; System.out.println("Print from a"); // Cannot make a static reference to the non-static field b n = 100; // compilation error // Cannot make a static reference to the // non-static method a2() from the type Test a2(); // compilation error // Cannot use super in a static context System.out.println(super.j); // compiler error } // instance method void a2() { System.out.println("Inside a2"); } public static void main(String[] args) { // main method } }
I ovenstående eksempler kan du se, hvordan begrænsningerne er pålagt de statiske metoder, og også hvordan du må bruge super søgeord i den statiske kontekst. Det handlede om statiske metoder. Lad os nu se, hvad der er indlejrede klasser.
Statisk klasse
En klasse kan gøres statisk kun hvis det er en indlejret klasse. Indlejret statisk klasse behøver ikke en reference til Ydre klasse. I dette tilfælde kan en statisk klasse ikke få adgang til ikke-statiske medlemmer af den ydre klasse. Lad os tage et eksempel for at forstå, hvordan det virker
public class NestedExample{ private static String str= "Edureka" //Static class static class MyNestedClass{ //non-static method public void disp(){ System.out.println(str); } } public static void main(String args[]){ NestedExample.MyNestedClass obj = new NestedExample.MyNestedClass(); obj.disp(); }
Når du udfører ovenstående kode, ser dit output ud som:
Edureka
Det handlede om forskellige anvendelser af statisk nøgleord i Java. Med dette kommer vi til slutningen af denne artikel. Jeg håber du fandt det informativt. Hvis du ønsker at lære mere, kan du tjekke vores andre Java-blogs også.
Tjek Java-certificeringsuddannelsen af Edureka, en betroet online læringsvirksomhed med et netværk af mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et udover dette java-interviewspørgsmål, kommer vi med et pensum, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel "Statisk søgeord i Java", så vender vi tilbage til dig så hurtigt som muligt, eller du kan også deltage i Java Training i Makassar.