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?).