Why is each public class in a separate file?

Viewed 21580

I recently started learning Java and found it very strange that every Java class must be declared in a separate file. I am a C# programmer and C# doesn't enforce any such restriction.

Why does Java do this? Were there any design consideration?

Edit (based on few answers):

Why is Java not removing this restriction now in the age of IDEs? This will not break any existing code (or will it?).

11 Answers
Related