why can I declare A as static, and then access it without having to specify the class name in front of it ? I thought static variables in the class can only be referenced by putting the class name in front of it, not directly ? Please help me if I'm wrong ? Second question: Why should B and C not also be static, if they're accessing a static variable ? (also using A) Sorry, but STATIC just causes static in my brain. It makes no sense, even if I re-read the explanations. (except that it's a variable that I can use in the parent class, and stays the same in there when I create new classes: that makes sense)