While Java permits accessing static members through an object reference (obj.staticMethod()), this is misleading and discouraged. Static members belong to the class, not instances. The correct practice is ClassName.staticMethod(). The compiler actually uses the declared type of the reference, not the runtime object.