English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Archivo estático/Las variables pertenecen a esta clase, se cargarán junto con la clase en la memoria. Pueden ser llamadas sin crear un objeto (utilizando el nombre de la clase como referencia). En toda la clase solo hay una copia del campo estático disponible, es decir, el valor del campo estático es el mismo en todos los objetos. Puede definir un campo estático utilizando la palabra clave static.
public class Sample{ static int num = 50; public void demo(){ System.out.println("Valor de num en el método demo ")+ Sample.num); } public static void main(String args[]){ System.out.println("Valor de num en el método main ")+ Sample.num); new Sample().demo(); } }
Resultados de salida
Valor de num en el método main 50 Valor de num en el método demo 50
Las variables en el método son variables locales, que tienen un rango dentro del método y se destruyen después de la ejecución del método. Es decir, no puede usar variables que se encuentran fuera del método/La definición de la variable estática entra en conflicto con las variables locales. Por lo tanto, no tiene sentido declarar una variable estática dentro del método, y si aún así lo hace, se generará un error en tiempo de compilación.
En el siguiente programa Java, intentamos declarar una variable estática dentro del método.
import java.io.IOException; import java.util.Scanner; public class Sample { static int num; public void sampleMethod(Scanner sc){ static int num = 50; } public static void main(String args[]) throws IOException { static int num = 50; } }
Si intenta ejecutar el programa anterior, se producirán los siguientes errores-
Sample.java:6: error: inicio ilegal de expresión static int num = 50; ^ Sample.java:9: error: inicio ilegal de expresión static int num = 50; ^ 2 errores