Why aren't static methods considered good OO practice? [closed]
I'm reading Programming Scala . At the beginning of chapter 4, the author comments that Java supports static methods, which are "not-so-pure OO concepts." Why is this so? One reason that static methods aren't very OO that hasn't been mentioned so far is that interfaces and abstract classes only define non-static methods. Static methods thus don't fit very well into inheritance. Note also that static methods do not have access to " super ", which means that static methods cannot be overridden in any real sense. Actually, they can't be overridden at all, only hidden. Try this: public class Test