хорошо,
у вас не может быть структуры, это файл с именем «A.java», поскольку вы предполагали, что публичный класс называется «ClassA», тогда имя файла должно быть ClassA.java. Теперь, насколько я понимаю, идея этого ограничения просто должна быть организована. Таким образом, вы можете иметь физическое происхождение каждого класса.
Без этого ограничения у вас может быть, например, «ClassC» из «ниоткуда», и может быть действительно сложно отследить исходный код.
привет