Чому кожен публічний клас є в окремому файлі? (Розділ 1)
Це питання, яке мені часто задавали під час моїх курсів. До цього часу я не мав належної відповіді на це питання. У розділі 1 ми читаємо: "Хоча кожен блок компіляції Дуба може містити кілька класів або інтерфейсів, щонайменше один клас або інтерфейс на один блок компіляції може бути відкритим".
На бічній панелі пояснюється, чому: "Цей обмеження ще не застосовується компілятором, хоча воно необхідне для ефективного імпорту пакета"
Це досить очевидно - як і більшість речей, як тільки ви знаєте причини дизайну - компілятору доведеться зробити додатковий прохід через усі одиниці компіляції (файли .java), щоб зрозуміти, які класи були де, і це зробило б компіляцію ще повільніше .