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.
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ó.
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.
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: