This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
in java, an instance is an occurrence of the object.
Someone writes a java file to define a class. This is like a blueprint on what the object looks like and what it does.
Just like you can use the same blueprint over and over to build the same house many times, you can do the same thing with a class. you can make many instances, each of which live in their own place independently of each other.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
If you think of a class as a data structure or a type definition. You can think of instance as a snap shot that shows you what values each of the constituent elements of that data structure have at a particular time.
If class is an abstraction. An object is concrete implementation.
For e.g: Chair is an abstraction(an idea).It is intangible. A revolving chair is an implementation of the idea. It is tangible.