I'll assume you're talking about Java since it's by far the most popular language that has interface
types. It's probably because the designers of Java figured that interfaces are contracts and implementation doesn't belong in them. The general style of Java seems to favor strictness, i.e. disallowing things unless there's a very good reason to allow them instead of the other way around.
Static methods are really just free (C-style) functions anyhow, only more annoyingly verbose. The only reason why it matters what class you put them in is aesthetics/code organization. Therefore, not allowing them to be put in interfaces isn't a severe limitation.
dsimcha
2010-08-25 04:24:34