基本的な質問ですみません。

javaのクラスにpublicをつけると、ソースファイル名を同名にする制約が出てくるんで
いつも付けないんですが、これってフォーマルな書き方としては間違ってますか?