Possible Duplicate:
What’s a static method in c#?
I found it difficult to clear my mind about the actual concept of static and non-static(instance) members, after researching from so many forums i decided to put my question here:
What is the difference between static and non static members?
static members are accessed by their class name which encapsulates them, but non-static members are accessed by object reference. static members can't use non-static methods without instantiating an object, but non-static members can use static members directly.
Yes, if the same class is loaded in different class loaders, then each copy of the class will have its own statics.
A static class is similar to a class that is both abstract and sealed. The difference between a static class and a non-static class is that a static class cannot be instantiated or inherited and that all of the members of the class are static in nature.
So, in summary, an Instance member is a member that belongs to an Instance of an object (in our example, the objects are c1 , c2 , and c3 ) whereas a static member belongs to the class itself and does not require an instance of an object as was demonstrated by making a call to CloneGenerator.
The static
methods can by accessed directly from the class, while non-static
methods (or instance methods as I like to call them) have to be accessed from an instance. That is why instatiating needs to be done for instance methods, while for static methods it's just not needed.
In OOP, static variables
are used for values which cannot be stored by an instance variable. static methods
cannot access instance methods or variables within a class. Of course that makes sense because that static method would not know which instance of the class we are trying to refer.
e.g. Supposed you wanted to keep a count of how many instances of a class exists? How would you store that in a single instance?
References:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With