Re: Simple question about instantiating
(Top-posting re-arranged)
"Eric Sosman" <esosman@acm-dot-org.invalid> wrote in message
news:wuqdnfaKm5rRI4LYnZ2dnUVZ_qGdnZ2d@comcast.com...
instanceCount is a `static' variable, meaning that it
belongs to the CountTest class as a whole and not to any
particular instance of a CountTest object. To look at it
another way, the single instanceCount (there is only one)
is "shared" by all the CountTest objects (however many you
decide to create).
-- snip --
However, the CountTest constructor is written in such a
way that it increments instanceCount once each tim a CountTest
object is constructed. This isn't really part of initializing
the new CountTest, but a sort of side-effect. The constructor
is doing two things: Initializing the new CountTest and also
incrementing the single shared class variable.
Roy Gourgi wrote:
> Hi Eric,
>
> Is the constructor also only for the class (almost like a static method)
> that is run each time an object is instantiated? And if that is the case,
> then all the 10 objects that are created really have nothing in them because
> the class variable belongs to the class, the constructor also belongs to the
> class and finally also the public static int getInstanceCount() method?
> Correct me if I am wrong.
The constructor does not belong to the class as static elements do, but
constructs the individual instance. Constructors never "belong" to a method,
static or instance. Check the definition of the keyword "static". Study the
tutorials.
> One final question is in main there is the instantiation statement:
>
> CountTest c1 = new CountTest();
>
> because this statement is in a for loop that runs 10 times, would the c1
> reference variable not point to only the last object (i.e. 10th object)
> because each time that it is initialized it points to the last object?
Correct.
I recommend Bruce Eckel's book, "Thinking in Java",
http://www.mindview.net/Books/TIJ/
Chapter 4 deals with constructors in detail.
Check the index for the various references to the "static" keyword.
- Lew