Java is an object oriented programming language which can be downloaded and installed in your local Machine from java.com To explain java binaries and tools requires block diagram which gives clear picture. For now I brief few important tools. JDK - java development toolkit JVM - Java virtual machine JRE - Java Run time environment From oracle site we can download JDK which is shipped along with JVM and JRM. Mostly java programmers need the JDK. For end users JRE alone is enough. Basic OOPS characteristics are Inheritance Encapsulation Abstraction and Polymorphism The above concepts collectively makes application software extendable and changeable with less effort. Also helps in Developing design patterns. Design patterns gives solutions for common challenges usually a programmer faces while development applications. Factory design pattern, Abstract design pattern, Builder pattern etc. I explain these Design patterns in another article. Inheritance : Inherita...