logo

Funció estàtica en Java

A Java, el estàtica La paraula clau es pot utilitzar amb variables, constants i funcions. L'objectiu principal de l'ús de estàtica La paraula clau és gestionar la memòria perquè puguem utilitzar-la de manera eficient. En aquesta secció, parlarem de funció estàtica en Java.

programació dinàmica

Funció estàtica

Si la paraula clau estàtica té el prefix abans del nom de la funció, la funció s'anomena a funció estàtica . Sovint s'anomena a mètode .

Un mètode és un grup de variables i declaracions que funcionen conjuntament com una unitat lògica. Igual que els camps, els mètodes poden tenir modificadors (com ara privats, públics o estàtics). Els mètodes també tenen un tipus de retorn (pot ser nul si el mètode no retorna res). El tipus de retorn pot ser un tipus de referència (com un objecte o una matriu). Un mètode pot tenir qualsevol nombre de paràmetres o arguments.

Quan una funció és estàtica , realment forma part de la classe i no dels objectes individuals de la classe. Significa que les funcions estàtiques existeixen fins i tot abans de crear cap objecte.

El millor exemple de mètode estàtic és el principal () mètode.

Propietats de la funció estàtica

  • Només pot accedir als membres estàtics.
  • Es pot cridar sense instància.
  • No està associat a l'objecte.
  • La funció estàtica no pot accedir als membres de dades no estàtiques.

Declaració d'una funció estàtica

La declaració d'una funció estàtica a Java és el mateix que la declaració d'un mètode. La funció té dues parts de funció prototip i cos de la funció.

Funció estàtica en Java

El prototip de funció conté la signatura de la funció que inclou el nom de la funció, el tipus de retorn, l'especificador d'accés i la llista de paràmetres. El cos funcional conté la lògica o la funcionalitat a realitzar.

Sintaxi:

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

A la sintaxi anterior, l'especificador d'accés i la llista de paràmetres són opcionals. Una funció pot tenir o no una llista de paràmetres. Per exemple:

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

Crida a la funció estàtica

A Java, no podem cridar la funció estàtica utilitzant l'objecte. S'invoca utilitzant el nom de classe .

 [class name].[method name] 

Per exemple:

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

Exemple de funció estàtica a Java

Creem un Programa Java a partir del qual podem entendre clarament la diferència entre funcions estàtiques i no estàtiques.

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

Sortida:

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

Creem un programa Java i cridem un mètode estàtic des d'un altre mètode estàtic fins i tot sense crear un objecte de la classe.

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

Sortida:

 Cube of 7 is: 343 

Restriccions del mètode estàtic

Hi ha dues restriccions principals per al mètode estàtic. Ells són:

  • El mètode estàtic no es pot utilitzar no estàtica membres de dades o crida directament a un mètode no estàtic.
  • aixòi súper La paraula clau no es pot utilitzar amb un context estàtic.

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

Sortida:

Funció estàtica en Java