This Textbook aims at familiarizing the software developers with the concept of Object Oriented Programming (OOP). One of the unique features of this textbook is the line-by-line explanation of source code that enables the students with no previous programming experience to gain a thorough and practical understanding of Java easily and effectively. The textbook is written to cater to the needs of the users who wish to learn Java as well as the experienced Java programmers who want to develop new programs.