why fields of superclass can't be overidden??? by a subclass
posted 8 years ago
The answer to this question, as to so many "why" questions, is "because the Java Language Specification says so".
Overriding is to do with run-time polymorphism. The Java language only implements run-time polymorphism for instance methods, not for fields or static methods. That's a choice the language designers made. They could have chosen differently, though in this case I think they chose well.
Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.