salve, sto imparando il java arrivando da php,javascript,visual basic,etc.. e sto scrivendo le prime righe di codice e mi imbatto su un qualcosa ancora sconosciuto che vedo solo come un complicars la vita!

codice:
class Prova {
    
    int [] a;
    
    
    public static void main(String[] arg){
        
        int [] b;
        a[0]=1;
        
        System.out.println(a[0]);
    }
}
so che la main è la parte che viene avviata della classe, quindi credvo di creare una variabile di instanza a definita per la classe Prova e assegnargli un valore . Ho provato in 12 modi diversi e noto che una stupidità negli altri linguaggi è per java un muro invalicabile

scherzo, ma mi manca di capire dove e perchè mi dice sempre "errore...errore" .
quello che ho trovato assurdo nei vari tentatvi e vedere che la clausosa "this" non la digerisce dentro main (cosa normalissima in altri linguaggi nella definizione delle classi)

chi mi aiuta a illuminarmi e magari affezionarmi a questo linguaggio?