Das sind ja nur gängige Konventionen und nicht (bzw. nur teilweise) von der Sprachsyntax vorgegebenen Regeln. Prinzipiell könnte jeder seine eigenen machen, was natürlich nicht sehr sinnvoll ist.
Für Klassennamen gilt häufig:
- Der Name sollte eine Aussage über die Funktion der Klasse machen
- Er sollte ein Substantiv sein
- Er sollte im UpperCamelCase geschrieben sein
Unterstriche waren mal "in", sind es aber nicht mehr, insofern gilt anstatt von "Name_der _Klasse" eher "NameDerKlasse".
Suche einfach mal nach Java Code-Konventionen.