title: Why does Java generate Multiple .class files on compilation?
body: <p>In Java, on compilation we get a .class file for each class( including nested classes and interfaces) defined in the source file.<br><br>What is the reason for this multiple .class file generation? <br>Is it for simplifying the reusablity of the class? <br>Why not generate one .class for one .java file?</p>