Mengapa setiap kelas publik di file terpisah? (Bagian 1)
Ini adalah pertanyaan yang sering saya tanyakan selama kursus. Sampai sekarang saya belum memiliki jawaban yang bagus untuk pertanyaan ini. Di bagian 1, kita membaca: "Meskipun setiap unit kompilasi Oak dapat berisi beberapa kelas atau antarmuka, paling banyak satu kelas atau antarmuka per unit kompilasi dapat menjadi publik".
Di bilah sisi menjelaskan mengapa: "Pembatasan ini belum diberlakukan oleh kompiler, meskipun itu diperlukan untuk impor paket yang efisien"
Ini cukup jelas - seperti kebanyakan hal yang pernah Anda tahu alasan desain - kompiler harus membuat tambahan melewati semua unit kompilasi (file .java) untuk mencari tahu kelas apa yang ada di mana, dan itu akan membuat kompilasi bahkan lebih lambat .