logo

Statikus függvény Java-ban

Java nyelven a statikus A kulcsszó változókkal, konstansokkal és függvényekkel használható. Használatának fő célja a statikus kulcsszó a memória kezelése, hogy hatékonyan tudjuk használni a memóriát. Ebben a részben a statikus függvény Java-ban.

leértékelési kép

Statikus funkció

Ha a kulcsszó statikus a függvény neve elé kerül, a függvény neve a statikus funkció . Gyakran nevezik a módszer .

A metódus változók és utasítások csoportja, amelyek együtt funkcionálnak logikai egységként. A mezőkhöz hasonlóan a metódusoknak is lehetnek módosítói (például privát, nyilvános vagy statikus). A metódusoknak van visszatérési típusa is (érvénytelen lehet, ha a metódus nem ad vissza semmit). A visszatérési típus lehet referenciatípus (például objektum vagy tömb). Egy metódusnak tetszőleges számú paramétere vagy argumentuma lehet.

Amikor egy függvény az statikus , valójában az osztály része, és nem az osztály egyedi objektumainak része. Ez azt jelenti, hogy a statikus függvények már az objektumok létrehozása előtt is léteznek.

A statikus módszer legjobb példája a fő() módszer.

A statikus függvény tulajdonságai

  • Csak statikus tagokhoz férhet hozzá.
  • Példány nélkül is hívható.
  • Nincs társítva az objektumhoz.
  • A nem statikus adattagokhoz a statikus funkció nem fér hozzá.

Statikus függvény deklarálása

Statikus függvény deklarálása in Jáva megegyezik egy metódus deklarációjával. A funkciónak két rész funkciója van prototípus és test a funkcióról.

Statikus függvény Java-ban

A funkció prototípusa tartalmazza a függvényaláírást, amely tartalmazza a függvény nevét, a visszatérési típust, a hozzáférési specifikációt és a paraméterlistát. A funkció test tartalmazza a végrehajtandó logikát vagy funkcionalitást.

Szintaxis:

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

A fenti szintaxisban a hozzáférés-meghatározó és a paraméterlista nem kötelező. Egy függvénynek lehet paraméterlistája, de lehet, hogy nem. Például:

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

Statikus függvény hívása

Java-ban nem hívhatjuk meg a statikus függvényt az objektum használatával. A használatával hívható meg osztály név .

 [class name].[method name] 

Például:

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

Példa statikus függvényre Java-ban

Hozzuk létre a Java program amelyből egyértelműen megérthetjük a statikus és a nem statikus függvények közötti különbséget.

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(); } } 

Kimenet:

 A non-static function is called. The static function is called. 

Hozzunk létre egy Java programot, és hívjunk meg egy statikus metódust egy másik statikus metódusból anélkül is, hogy létrehoznánk az osztály objektumát.

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(); } } 

Kimenet:

 Cube of 7 is: 343 

A statikus módszer korlátozásai

A statikus módszernek két fő korlátozása van. Ők:

  • A statikus módszer nem használható nem statikus adattagokat, vagy hívjon közvetlenül egy nem statikus metódust.
  • ezés szuper kulcsszó nem használható statikus kontextusban.

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); } } 

Kimenet:

Statikus függvény Java-ban