i
Object Oriented Programming with Java:
Essentials and Applications
Rajkumar Buyya
The University of Melbourne and Manjrasoft Pvt Ltd, Australia
Thamarai Selvi Somasundaram
Anna University Chennai, India
Xingchen Chu
The University of Melbourne, Australia
McGraw-Hill Education (India) Pvt Ltd
New Delhi, India
ii
PUBLISHER COPYRIGHT PAGE…
iii
Preface
Recent advances in Internet and Web are changing the way we conduct business, manage our life,
and interact among ourselves as a society. They have made the world a global village for
information exchange and service delivery. However, developing software systems and applications
for these environments continues to be a complex and challenging task. In addition, the cost of
software maintenance is increasing at a rapid pace surpassing the cost of its development and
hardware used for running it. Several paradigms and methodologies have been developed to manage
this software crisis. Object-Oriented Programming (OOP) has emerged as the most popular silver
bullet for managing complexity associated with the development and maintenance of software
systems and applications.
Several object-oriented programming languages have been invented since 1960. The two most
well-known ones are: C++ and Java. The emergence of Web as media for information exchange and
service delivery in early 1990s has created the need for a programming language supporting
networked environments involving a wide variety of computers and devices. To meet these
requirements, Sun Microsystems developed the Java programming language, which has rapidly
emerged as a dominant OOP language for implementing Web and Internet service applications. As a
platform independent language, Java provides capabilities such as network, graphic, and concurrent
programming as its core elements.
Coverage and Resources
The “Obje