logo

Statisk funktion i Java

I Java är statisk nyckelord kan användas med variabel, konstant och funktioner. Huvudsyftet med att använda statisk nyckelordet är att hantera minnet så att vi kan använda minnet effektivt. I det här avsnittet kommer vi att diskutera statisk funktion i Java.

vad är ymail

Statisk funktion

Om nyckelordet statisk har prefixet före funktionsnamnet kallas funktionen för a statisk funktion . Det kallas ofta a metod .

En metod är en grupp av variabler och påståenden som fungerar tillsammans som en logisk enhet. Liksom fält kan metoder ha modifierare (som privata, offentliga eller statiska). Metoder har också en returtyp (kan vara ogiltiga om metoden inte returnerar något). Returtypen kan vara en referenstyp (som ett objekt eller en matris). En metod kan ha valfritt antal parametrar eller argument.

När en funktion är statisk , det är verkligen en del av klassen och inte en del av de enskilda objekten i klassen. Det betyder att statiska funktioner existerar även innan några objekt skapas.

Det bästa exemplet på en statisk metod är main() metod.

Egenskaper för statisk funktion

  • Den kan endast komma åt statiska medlemmar.
  • Det kan kallas utan instans.
  • Det är inte associerat med objektet.
  • Icke-statiska datamedlemmar kan inte nås av den statiska funktionen.

Deklarera en statisk funktion

Deklarationen av en statisk funktion i Java är detsamma som deklarationen av en metod. Funktionen har två delar funktion prototyp och kropp av funktionen.

Statisk funktion i Java

De funktionsprototyp innehåller funktionssignaturen som inkluderar funktionsnamn, returtyp, åtkomstspecifikation och parameterlistan. De funktionskropp innehåller logiken eller funktionen som ska utföras.

Syntax:

 [access specifier] static [return type] [function name] (parameter list) { //body of the function } 

I ovanstående syntax är åtkomstspecifikationen och parameterlistan valfria. En funktion kan ha en parameterlista eller inte. Till exempel:

 public static int sum(int a, int b) { int c=a+b; return c; } 

Anropar statisk funktion

I Java kan vi inte anropa den statiska funktionen genom att använda objektet. Den anropas genom att använda klassnamn .

 [class name].[method name] 

Till exempel:

 Math.sqrt(a); //calling the square root function of the Math class 

Exempel på statisk funktion i Java

Låt oss skapa en Java-program från vilken vi tydligt kan förstå skillnaden mellan statiska och icke-statiska 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. 

Låt oss skapa ett Java-program och anropa en statisk metod från en annan statisk metod även utan att skapa ett 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 

Restriktioner för den statiska metoden

Det finns två huvudsakliga begränsningar för den statiska metoden. Dom är:

  • Den statiska metoden kan inte användas icke-statisk datamedlemmar eller anropa en icke-statisk metod direkt.
  • dettaoch super nyckelord kan inte användas med ett statiskt sammanhang.

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:

Statisk funktion i Java