Översikt över statiska nyckelord i Java
Java är ett populärt programmeringsspråk som används för att producera program och applikationer och utvecklades i mitten av 90-talet. Java är kompatibelt med alla dagens operativsystem. Det huvudsakliga skälet till dess popularitet är vissa bestämmelser som den ger för att säkerställa tillämpningssäkerhet och återanvändbarhet som den statiska medlemmen. I Java används det statiska nyckelordet främst för att säkerställa och möjliggöra effektiv hantering av systemminne och återanvändbarhet för vanliga egenskaper. Vi kan använda det statiska nyckelordet med variabler, metoder, kapslade klasser samt kodblock. Statisk används som icke-åtkomstmodifierare i Java. Det statiska nyckelordet indikerar att en viss medlem tillhör en typ i stället för enskilda instanser av den typen. Detta innebär att endast en enda instans av den statiska medlemmen kan skapas och den delas mellan alla instanser i klassen.
Skapa en statisk metod
För att förklara en statisk medlem om det är ett block eller en variabel eller en metod eller en kapslad klass måste vi föregå medlemmet med nyckelordet statisk. När vi förklarar en medlem som statisk, kan vi få åtkomst till det innan något av dess klassobjekt skapas eftersom det är oberoende av dess klassobjekt. I exemplet nedan skapar vi en statisk metod och ser hur den kan kallas utan någon hänvisning till dess klass:
Koda:
class Main // declaring a class name called staticTest
(
// Declaring a static method below
public static void myStaticmethod()
(
System.out.println("Hello, I was called from static method.");
)
public static void main(String() args )
(
// Calling the static method without any object reference
myStaticmethod();
)
)
Produktion:
Skapa en enda klass med flera statiska block
Ibland måste vi utföra vissa beräkningar för att initialisera våra statiska variabler. I sådana fall kan vi förklara ett statiskt block som laddas endast en gång när klassen först körs. Låt oss förstå detta bättre med nedanstående exempel:
Koda:
class Main
(
// Declaring a static variable below
static int a = 10;
static int b;
// Declaring a static block below
static
(
System.out.println( " In static block now. " );
b = a*2;
)
public static void main( String() args )
(
System.out.println(" Value of b : " + b);
)
)
Produktion:
Nu flyttar vi till statiska variabler, de är främst globala variabler eftersom när en variabel förklaras som statisk skapas en enda kopia av variabeln och delas mellan alla objekt i en klass. Vi måste tänka på att vi bara kan skapa en statisk variabel på klassnivå. Om ett program har både statiska variabler såväl som ett statiskt block, kommer den statiska variabeln och det statiska blocket att exekveras i den ordning de skrivs i programmet.
Låt oss nu lära oss mer om den statiska metoden. En metod är Java när den deklareras med ett statiskt nyckelord som föregår det kallas en statisk metod. Den vanligaste statiska metoden i Java är huvudmetoden. Metoder i Java deklarerade med statiska nyckelord åtföljs också av flera begränsningar. Få är listade nedan:
- Statiska metoder får endast kalla andra statiska metoder.
- Statiska metoder kan bara komma åt statiska data direkt.
- Statiska metoder kan inte under några omständigheter hänvisa till detta eller super.
Varför är den huvudsakliga metoden statisk i Java?
Huvudmetoden i Java är statisk eftersom vi inte kräver ett objekt för att kunna kalla huvudmetoden. Om det var en icke-statisk metod, skulle vi först behöva JVM (Java Virtual Machine) för att ringa klassobjektet och detta skulle inte vara en minneseffektiv process eftersom det kräver ytterligare minne för att göra det.
Använd fall av statisk medlem
Du kanske tänker på vilka omständigheter och scenarier ska vi använda statiska medlemmar och variabler?
Vi kan använda en statisk variabel för alla egenskaper som skulle vara gemensamma för alla objekt. Om vi till exempel hade en klass med namnet Student, skulle alla studentobjekt dela samma egenskap som college-namn som kan förklaras som en statisk variabel i så fall. Vi kan också använda statiska variabler när dess värde är oberoende av dess klassobjekt.
Låt oss hänvisa till exemplet nedan för att förstå de statiska medlemmarna bättre:
Koda:
class Student
(
int roll_no; // declaring an instance variable
String name;
static String college_name ="KC College"; // declaring a static variable for common property college name
//declaring the class constructor below
Student(int r, String n)
(
roll_no = r;
name = n;
)
// declaring a method to display the values
void display ()
(
System.out.println(roll_no+" "+name+" "+college_name);
)
)
//Declaring a test class to display the values of objects
public class Main(
public static void main(String args())(
Student st1 = new Student(111, "Karan");
Student st2 = new Student(222, "Arjun");
//below we have changed the college name which was a common property of all objects with a single line of code
Student.college_name ="Jain Hind College";
st1.display();
st2.display();
)
)
Produktion:
Statiska kapslade klasser i Java
I Java kan vi inte förklara toppnivån som statisk men vi kan förklara dess kapslade klasser som statiska vid behov. Sådana klasser kallas kapslade statiska klasser.
Statiska metoder i Java identifieras vid körning och eftersom överkörning är en del av runtime-polymorfism, kan inte statiska metoder åsidosättas.
Vi kan inte förklara abstrakta metoder som statiska.
Slutsats - Statiskt nyckelord i Java
Med ovanstående exempel och förklaring kan vi dra slutsatsen att Java tillhandahåller flera funktioner och egenskaper som statisk och abstrakt som gör det säkert, säkert och robust för användning. Alla dessa leder till att Java fortfarande är ett mycket populärt val för att utveckla system där säkerhet är det främsta problemet.
Rekommenderade artiklar
Detta är en guide till statiska nyckelord i Java. Här diskuterar vi hur man skapar en statisk metod och använder fall av den statiska medlemmen tillsammans med dess kodimplementering. Du kan också titta på följande artiklar för att lära dig mer-
- Java-kommandon (tips och tricks)
- Fallbeskrivning i Java-exempel
- Singleton Class i Java (Implementering)
- Rekursion i Java-typer, exempel
- Hur fungerar variabler i JavaScript?
- Polymorfism i Java
- Exempel på JavaScript-statisk metod
- Runtime Polymorphism i Java | Hur man arbetar?