logo

Statische functie in Java

Op Java is de statisch trefwoord kan worden gebruikt met variabele, constante en functies. Het belangrijkste doel van het gebruik van de statisch sleutelwoord is het geheugen beheren, zodat we het geheugen efficiënt kunnen gebruiken. In deze sectie bespreken we de statische functie in Java.

voorbeeld Java-code

Statische functie

Als het trefwoord statisch wordt voorafgegaan door de functienaam, de functie wordt a genoemd statische functie . Het wordt vaak een genoemd methode .

Een methode is een groep variabelen en instructies die samen als een logische eenheid functioneren. Net als velden kunnen methoden modifiers hebben (zoals privé, openbaar of statisch). Methoden hebben ook een retourtype (kan ongeldig zijn als de methode niets retourneert). Het retourtype kan een referentietype zijn (zoals een object of een array). Een methode kan een willekeurig aantal parameters of argumenten hebben.

Wanneer een functie is statisch , het maakt echt deel uit van de klasse en niet van de individuele objecten in de klasse. Het betekent dat statische functies al bestaan ​​voordat er objecten zijn gemaakt.

Het beste voorbeeld van een statische methode is de voornaamst() methode.

Eigenschappen van statische functie

  • Het heeft alleen toegang tot statische leden.
  • Het kan worden aangeroepen zonder een instantie.
  • Het is niet gekoppeld aan het object.
  • Niet-statische gegevensleden zijn niet toegankelijk voor de statische functie.

Een statische functie declareren

De declaratie van een statische functie in Java is hetzelfde als de declaratie van een methode. De functie bestaat uit twee delen prototype En lichaam van de functie.

Statische functie in Java

De functie prototype bevat de functiehandtekening die de functienaam, het retourtype, de toegangsspecificatie en de parameterlijst bevat. De functie lichaam bevat de logica of functionaliteit die moet worden uitgevoerd.

Syntaxis:

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

In de bovenstaande syntaxis zijn de toegangsspecificatie en de parameterlijst optioneel. Een functie kan al dan niet een parameterlijst hebben. Bijvoorbeeld:

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

Statische functie oproepen

In Java kunnen we de statische functie niet oproepen met behulp van het object. Het wordt aangeroepen met behulp van de naam van de klasse .

 [class name].[method name] 

Bijvoorbeeld:

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

Voorbeeld van statische functie in Java

Laten we een Java-programma waaruit we het verschil tussen statische en niet-statische functies duidelijk kunnen begrijpen.

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

Uitgang:

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

Laten we een Java-programma maken en een statische methode aanroepen vanuit een andere statische methode, zelfs zonder een object van de klasse te maken.

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

Uitgang:

 Cube of 7 is: 343 

Beperkingen van de statische methode

Er zijn twee belangrijke beperkingen voor de statische methode. Zij zijn:

  • De statische methode kan niet worden gebruikt niet-statisch gegevensleden of roep rechtstreeks een niet-statische methode aan.
  • ditEn super trefwoord kan niet worden gebruikt met een statische context.

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

Uitgang:

Statische functie in Java