I Java er statisk nøgleord kan bruges med variabel, konstant og funktioner. Hovedformålet med at bruge statisk nøgleordet er at administrere hukommelsen, så vi kan bruge hukommelsen effektivt. I dette afsnit vil vi diskutere statisk funktion i Java.
python reducere
Statisk funktion
Hvis søgeordet statisk står foran funktionsnavnet, kaldes funktionen a statisk funktion . Det kaldes ofte en metode .
En metode er en gruppe af variable og udsagn, der fungerer sammen som en logisk enhed. Ligesom felter kan metoder have modifikatorer (som private, offentlige eller statiske). Metoder har også en returtype (kan være ugyldige, hvis metoden ikke returnerer noget). Returtypen kan være en referencetype (såsom et objekt eller en matrix). En metode kan have et hvilket som helst antal parametre eller argumenter.
Når en funktion er statisk , det er virkelig en del af klassen og ikke en del af de enkelte objekter i klassen. Det betyder, at statiske funktioner eksisterer, selv før der oprettes nogen objekter.
Det bedste eksempel på en statisk metode er hoved() metode.
Egenskaber for statisk funktion
- Den kan kun få adgang til statiske medlemmer.
- Det kan kaldes uden en instans.
- Det er ikke forbundet med objektet.
- Ikke-statiske datamedlemmer kan ikke tilgås af den statiske funktion.
Erklæring af en statisk funktion
Erklæringen af en statisk funktion i Java er det samme som deklarationen af en metode. Funktionen har to dele funktion prototype og legeme af funktionen.
Det funktion prototype indeholder funktionssignaturen, der inkluderer funktionsnavnet, returtypen, adgangsspecifikationen og parameterlisten. Det funktion krop indeholder den logik eller funktionalitet, der skal udføres.
Syntaks:
[access specifier] static [return type] [function name] (parameter list) { //body of the function }
I ovenstående syntaks er adgangsspecifikationen og parameterlisten valgfri. En funktion kan have eller ikke have en parameterliste. For eksempel:
public static int sum(int a, int b) { int c=a+b; return c; }
Kalder statisk funktion
I Java kan vi ikke kalde den statiske funktion ved at bruge objektet. Det påberåbes ved at bruge klassenavn .
[class name].[method name]
For eksempel:
Math.sqrt(a); //calling the square root function of the Math class
Eksempel på statisk funktion i Java
Lad os skabe en Java program hvorfra vi tydeligt kan forstå forskellen mellem statiske og ikke-statiske funktioner.
StatciFunctionExample.java
class Demo { //non-static function void display() { System.out.println('A non-static function is called.'); } //static function static void show() { System.out.println('The static function is called.'); } } public class StaticFunctionExample { public static void main(String args[]) { //creating an object of the class A Demo obj = new Demo(); //calling a the non-static function by using the object of the class obj.display(); //calling a static function by using the class name Demo.show(); } }
Produktion:
A non-static function is called. The static function is called.
Lad os oprette et Java-program og kalde en statisk metode fra en anden statisk metode, selv uden at oprette et objekt i klassen.
CalculateCube.java
public class CalculateCube { //defining a static method static void cube() { int x=7*7*7; System.out.println('Cube of 7 is: '+x); } public static void main(String args[]) { //calling the static method without using the object of the CalculateCube class cube(); } }
Produktion:
Cube of 7 is: 343
Begrænsninger af den statiske metode
Der er to hovedbegrænsninger for den statiske metode. De er:
- Den statiske metode kan ikke bruges ikke-statisk datamedlemmer eller kalde en ikke-statisk metode direkte.
Demo.java
class Demo { int num=100; //non-static variable //static method public static void main(String args[]) { //trying to access non-static data member from static context System.out.println(num); } }
Produktion: