A simple definition of object oriented design is that it is a technique that focuses design on the data (=objects) and on the interfaces to it. The object-oriented facilities of JAVA are essentially those of C++, with extensions for more dynamic method resolution that came from Objective C.
Ø Object Oriented
Back in that time, they wanted to build a system that could be programmed easily without a lot of training. Most of the programmers working in those days were using C, and most of those who practiced object-oriented programming used C++. So even though they realized C++ was unsuitable, they tried to stick as close as possible to C++ in order to make the system more understandable. JAVA ignores many rarely used, poorly understood, confusing features of C++, this consists of operator overloading and multiple inheritance. A common source of complexity in many C and C++ applications is storage management: the allocation and freeing of memory. JAVA does automatic garbage collection —this not only makes the programming task easier, it also dramatically cuts down on bugs.
It is one of way to characterize a system is with a set of buzzwords. They used a standard set of them in describing JAVA. The rest of this section below is an explanation of what they meant by those buzzwords and the problems that they were trying to solve.
JAVA: A simple, object oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high performance, multithreaded, dynamic language.
JAVA is a programming language and environment that was designed to solve a number of problems in modern programming practice. It started as a part of a larger project to develop advanced software for consumer electronics. At first the intentions were to use C++, but there were a number of problems. Initially there were just compiler technology problems, but as time passed a set of problems that were best solved by changing the language itself.