Um identificador legal em Java começa por um caracter Unicode na classe “Letter”, ou então _ ou $.
Ele pode ser seguido por caracteres Unicode na classe “Letter” ou “Digit”, ou então _ ou $.
Por exemplo, você poderia ter um programa com identificadores em chinês, japonês, russo ou árabe, ou mesmo armênio, georgiano ou hindi. Não há problemas.
Entretanto, evite usar o “$” para identificadores, já que o Java usa internamente identificadores com “$” para implementar classes anônimas e internas.
Me lembrou de uma vez que eu tentei sacanear o compilador, e criar uma variável chamada $assertsEnabled, já que essa é a variável interna que o java usa para o assert condicao == esperado;
Mas, não tive sucesso em ferrar com o java =(
Ele começa a declarar as variáveis com $assertsEnabled_1, _2, _3 … …