tengo el siguiente fragmento de código que se toma de un examen de prueba para Sun Certified Java Programmer:Java alcance estática
public class Static
{
static
{
int x = 5;
}
static int x,y;
public static void main(String args[])
{
x--; myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}
La prueba le pregunte por el resultado de esta línea:
System.out.println(x + y + ++x);
La respuesta es 3, pero no entiendo por completo por qué es 3. puedo llegar a esa respuesta si me ignoran por completo:
static
{
int x = 5;
}
Mi pregunta es, ¿cuál es el significado del fragmento de código anterior? ¿Por qué no cambia el valor de la variable 'x'?
@anonymous, gracias lo entiendo . Que está en el ámbito, por lo que la variable no existe después de que el ámbito de aplicación. – czchlong