Warum zeigt der Compiler folgendem Quelltext keinen FEhler?

class irgendwie {

int a;
{int a;}

....

Wenn ich das ganz aber ein eine statisch Funktion schreiben schon, warum?

public static void main (String [] args){
int b;
{int b;} // Compilerfehler