Je dirais que c'est une combinaison de lisibilité et d'antécédents historiques du langage. Rappelez-vous que la syntaxe Java a été conçue pour être facile à utiliser pour les programmeurs C et C++. (Et comme @ dan04 souligne, le caractère #
est significatif dans la plupart des dialectes de C et C++.)
Soit dit en passant, alors que $
est technique et juridique dans les identificateurs Java, il est réservé à l'usage des compilateurs, des générateurs de code et d'autres choses . Si vous utilisez $
dans les identifiants de votre code source, vous risquez de rencontrer des problèmes avec des collisions avec des identifiants synthétiques produits par (par exemple) le compilateur javac
.