Зауважте, що Java відрізняється від регістру, але файлова система не повинна бути. Якщо базове ім'я файлу "abcd", але клас "Abcd", чи відповідає це правилу файлової системи, нечутливої до регістру? Звичайно, не, коли вони переносяться на чутливі до регістру.
Або припустимо, у вас трапився клас під назвою ABCD, і клас Abcd (давайте не будемо вникати в те, що це погана ідея: це може статися), і програма переноситься на файлову систему, нечутливу до регістру. Тепер вам потрібно не лише перейменовувати файли, але й класи, ой!
Або що робити, якщо файлу немає? Припустимо, у вас є компілятор Java, який може приймати дані на стандартному вході. Тож клас повинен бути названий "StandardInput"?
Якщо ви раціонально досліджуєте наслідки того, як вимагати від імен файлів слідувати іменам класів, ви виявите, що це погана ідея більш ніж одним способом.