Discuss the various way of laying out an application program's structure in Java. Java is an Object-Oriented Programming based language (OOP). However, it is also providing many alternatives to do programming in other styles. In fact, we have been using those many times. This lecture serves as a good reference for program structure and styles.