Object-Oriented Programming and Java presents two important topics in contemporary software development: object-oriented programming and Java. This book takes a different teaching approach from most available literature, it begins with the description of real-world object interaction scenarios and explains how they can be translated, represented and executed using object-oriented programming paradigm. Principally, Java is an object-oriented programming language. By establishing a solid foundation in the understanding of object-oriented programming concepts and their applications, the book provides readers with the pre-requisites for writing proper object-oriented programs using Java. Object-Oriented Programming and Java covers the latest in Java technologies and is suitable for undergraduate or postgraduate courses on object-oriented technology, and in particular, using Java as a programming language for creating object-oriented programs.