Il problema e' che stai compilando con javac 12.0.1 ed esegui con java
version "1.8.0_211".
Sospetto che il casino derivi dai registri di windows
Software\JavaSoft\Java Runtime Environment
e
Software\JavaSoft\Java Development Kit
che risentono dell'installazione di un JRE con versione diversa dal JDK
Oppure, se usi un ide, l'ide utilizza il compilatore javac del JDK
12.0.1 mentre esegui con JRE 1.8.0
Quando dici "ho installato l'ultima JDK e l'ultima SE" cosa intendi?
Dovrebbero essere la stessa cosa, nel senso che una versione SE
(standard edition) comprende sia il JDK che il JRE, che possono essere
installati separatamente, dipendentemente dalle scelte che fai durante
l'installazione.
Tieni anche presente che nella stessa macchina possono essere installate
versioni multiple, ma poi te le devi gestire. Nel senso che
l'installazione di java mette nella variabile d'ambiente PATH la
directory C:\ProgramData\Oracle\Java\javapath che contiene un eseguibile
java.exe, dai cui dettagli ne puoi rilevare la versione, che nel tuo
caso dev'essere 1.8.0_211, per cui se vuoi eseguire una versione
specifica devi qualificare il comando java con il percorso assoluto.
Io ad esempio mi gestisco la variabile d'ambiente JAVA_HOME impostata
con la directory d'installazione del JDK. Poi all'occorrenza eseguo
%java_home%\bin\java.
Tieni anche presente che l'ambiente Java non necessita dei registri di
windows per funzionare, soprattutto se non utlizzi la classe Preference.