Недавно я начал изучать Java и очень странно, что каждый класс Java должен быть объявлен в отдельном файле. Я программист на С#, а С# не применяет никаких ограничений.
Почему Java это делает? Были ли какие-либо соображения дизайна?
Изменить (на основе нескольких ответов):
Почему Java не удаляет это ограничение сейчас в возрасте IDE? Это не нарушит существующий код (или будет?).