One of the biggest challenges facing us during the creation of our first Java application was learning to develop with the Java programming language. We were concerned about how well our team of developers would learn and adapt to Java. Since Java was an object-oriented programming language, we had object-oriented concepts to learn as well. Our first Java training class was titled, "Developing object oriented applications with Java" The class was organized into two parts. 1) Principles and concepts of objects 2) The Java programming language At first, we learned all about "encapsulation", "inheritance" and "polymorphism". Core features of object-oriented programming. As we started developing our first Java application, we came to a surprising realization. We were not doing object-oriented programming with Java. We started to ask ourselves; "Are are doing procedural-based programming using Java?", "Are we using Java wrong?", "Do we start over"?" Then we asked the most important question of all, "What have we done with Java?". With our Java application; we were creating objects that were performing various operations. Our application was executing business logic, accessing the database, interacting with end-users, and interfacing with other applications. We were doing object-based programming using Java. We liked what we saw. So we decided to continue our object-based Java development. Java provides an incredibly useful and diverse set of tools. These tools can be used in many ways. There is no right way or wrong way to use Java. Whether it be object-based or object-oriented; we are confident that, with Java, we can be successful.