8.2 non è un errore di runtime.
Il compiler se ne accorge prima perchè riesce a capire che i due tipi sono diversi e che mettendo B a sinistra e A a destra la cosa non va bene.
Prova a scrivere: int x=new String();