Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why declare an interface as abstract?

What's point of declaring an interface as abstract? Same thing for an interface method. Is there a point to it?

eg.

public abstract interface Presenter {  public abstract void go(final HasWidgets container); } 
like image 367
Sudhir Jonathan Avatar asked Jan 25 '10 17:01

Sudhir Jonathan


2 Answers

Where did you come across the chunk of code you have posted, any old java code base ?
This is what the JLS has to say :

9.1.1.1 abstract Interfaces:
Every interface is implicitly abstract. This modifier is obsolete and should not be used in new programs.

9.4 Abstract Method Declarations:
For compatibility with older versions of the Java platform, it is permitted but discouraged, as a matter of style, to redundantly specify the abstract modifier for methods declared in interfaces.

like image 58
sateesh Avatar answered Oct 12 '22 07:10

sateesh


Interfaces and interface methods are implicitly abstract even if not declared as so. So there is no need to explicitly specify it.

like image 40
notnoop Avatar answered Oct 12 '22 09:10

notnoop