File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why can't interfaces define a static method

 
Anupam Sinha
Ranch Hand
Posts: 1090
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why can't interfaces define static methods?
 
Peter Chase
Ranch Hand
Posts: 1970
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The simple answer to all such questions is "because the Java Language Specification says so".

In many such questions, it would be possible to imagine how the feature under discussion might have been allowed. The language designers had to make judgements about what features would be useful, understandable, easy to implement in compilers/JVMs, and encourage good programming. Static methods in interfaces would fall down on several of those criteria.
 
Ådne Brunborg
Ranch Hand
Posts: 208
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Another answer is that they can. But such interfaces are called "abstract classes" and not "Interfaces" . Abstract classes and Interfaces are very similar in nature - they are both abstract (i.e. cannot be instantiated), and defines method signatures.

The difference is mainly that abstract classes can define method implementations as well - including static methods.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
All methods in an interface are abstract. Static methods cannot be abstract, because they aren't polymorphic.
 
Anupam Sinha
Ranch Hand
Posts: 1090
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks to all of you for your replies. It was helpful.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic