Por que na variavel static não da erro(compile error), somente na variavel y??? Diz que não tem nenhum valor atribuido(iniciada)???
public class Test{
static int x;
public static void main(String args[]){
int y;
System.out.println(x);
System.out.println(y);
}
}
Porque uma variável local, isto é, uma variável pertencente à um método
deve sempre ser inicializada antes de ser usada.
Ja a variável x, é uma variável da classe, não precisando ser inicializada.
Se voceê declarar y fora do método, e não o marcar como static, para poder
ter acesso à essa variável na seu método main, terá que instanciar a sua
classe Test, e referenciar a variável y, através de sua instância do objeto.
public class Test{
static int x;
private int y;
public static void main(String args[]){
Test t = new Test();
System.out.println(x);
System.out.println(t.y);
}
}