title: Java abstract static Workaround
body: <p>I understand that neither a abstract class nor an interface can contain a method that is both <a href="https://stackoverflow.com/questions/370962/why-cant-static-methods-be-abstract-in-java">abstract and static</a> because of ambiguity problems, but is there a workaround?</p>
  
  <p>I want to have either an abstract class or an interface that mandates the inclusion of a static method in all of the classes that extend/implement this class/interface. Is there a way to do this in Java? If not, this may be my final straw with Java...</p>
  
  <p>EDIT 1: The context of this problem is that I have a bunch of classes, call them Stick, Ball, and Toy for now, that have a bunch of entries in a database. I want to create a superclass/interface called Fetchable that requires a static method <code>getFetchables()</code> in each of the classes below it. The reason the methods in Stick, Ball, and Toy have to be static is because they will be talking to a database to retrieve all of the entries in the database for each class.</p>
  
  <p>EDIT 2: To those who say you cannot do this in any language, that is not true. You can certainly do this in Ruby where class methods are inherited. This is not a case of someone not getting OO, this is a case of missing functionality in the Java language. You can try to argue that you should never need to inherit static (class) methods, but that is utterly wrong and I will ignore any answers that make such points.</p>