Question:
I am 14 years old and a new Java programmer. I would like to know the difference betweenan instance and an object.
I am learning Java from the book Teach Yourself Java in 21 Days, which repeatedly says instances and objects arethe same, but later implies they are different.I understand all of the book’s concepts so far except this.
Answer:
Many people treat the terms as synonyms, but there is a subtledistinction. An instance is a member of a class.
For example, suppose I define the class Robot
:
class Robot { … }
In another part of my program, I declare a couple of robots:Robot c3po, r2d2;
c3po
and r2d2
are instances of the class Robot
. (More exactly, c3po
and r2d2
are variables containing pointers to instances of the class Robot
.)All instances are objects, so it is correct to say that c3po
and r2d2
are also objects, but the term “object” is slightlymore general.
If I declare an array of robots:
Robot[] killer;
Then killer
is also an object. (More exactly, killer
is a variable containing a pointer to an object.)In summary, all instances are objects, but an object can be eitheran instance or an array.
Is this what 14-year-olds talk about these days?