logo

Función estática en Java

En Java, el estático La palabra clave se puede utilizar con variables, constantes y funciones. El objetivo principal de utilizar el estático La palabra clave es administrar la memoria para que podamos usarla de manera eficiente. En esta sección, discutiremos la Función estática en Java.

pitón de inserción

Función estática

Si la palabra clave estático tiene el prefijo antes del nombre de la función, la función se llama función estática . A menudo se le llama método .

Un método es un grupo de variables y declaraciones que funcionan juntas como una unidad lógica. Al igual que los campos, los métodos pueden tener modificadores (como privado, público o estático). Los métodos también tienen un tipo de retorno (pueden ser nulos si el método no devuelve nada). El tipo de retorno puede ser un tipo de referencia (como un objeto o una matriz). Un método puede tener cualquier número de parámetros o argumentos.

Cuando una función es estático , en realidad es parte de la clase y no parte de los objetos individuales de la clase. Significa que las funciones estáticas existen incluso antes de crear cualquier objeto.

El mejor ejemplo de un método estático es el principal() método.

Propiedades de la función estática

  • Sólo puede acceder a miembros estáticos.
  • Se puede llamar sin una instancia.
  • No está asociado con el objeto.
  • La función estática no puede acceder a los miembros de datos no estáticos.

Declarar una función estática

La declaración de una función estática en Java es lo mismo que la declaración de un método. La función tiene dos partes. prototipo y cuerpo de la función.

Función estática en Java

El prototipo de función contiene la firma de la función que incluye el nombre de la función, el tipo de retorno, el especificador de acceso y la lista de parámetros. El cuerpo funcional contiene la lógica o funcionalidad a realizar.

Sintaxis:

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

En la sintaxis anterior, el especificador de acceso y la lista de parámetros son opcionales. Una función puede tener o no una lista de parámetros. Por ejemplo:

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

Llamar a la función estática

En Java, no podemos llamar a la función estática utilizando el objeto. Se invoca utilizando el nombre de la clase .

 [class name].[method name] 

Por ejemplo:

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

Ejemplo de función estática en Java

vamos a crear un programa java de lo cual podemos entender claramente la diferencia entre funciones estáticas y no estáticas.

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

Producción:

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

Creemos un programa Java y llamemos a un método estático desde otro método estático incluso sin crear un objeto de la clase.

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

Producción:

 Cube of 7 is: 343 

Restricciones del método estático

Existen dos restricciones principales para el método estático. Ellos son:

  • El método estático no puede usarse. no estático miembros de datos o llamar a un método no estático directamente.
  • estey súper La palabra clave no se puede utilizar con un contexto estático.

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

Producción:

Función estática en Java