为什么将接口声明为抽象?

Sud*_*han 49 java oop interface

将接口声明为抽象是什么意思?接口方法也是如此.有没有意义呢?

例如.

public abstract interface Presenter {
 public abstract void go(final HasWidgets container);
}
Run Code Online (Sandbox Code Playgroud)

sat*_*esh 66

您在哪里遇到过您发布的代码块,任何旧的Java代码库?
这就是 JLS所说的:

9.1.1.1抽象接口:
每个接口都是隐式抽象的.此修饰符已过时,不应在新程序中使用.

9.4抽象方法声明:
为了与Java平台的旧版本兼容,允许但不鼓励,但作为一种风格,不要为接口中声明的方法冗余地指定抽象修饰符.

  • GWT 2.0示例:D (4认同)
  • 该死的甲骨文!该链接只是重定向到oracle java年表网站,非常公司的工作,一旦你获得它,甚至不关心历史证据. (3认同)
  • @Sudhir,谷歌搜索你发布的代码块我遇到了这个邮件线程,讨论了同样的问题:http://osdir.com/ml/Google-Web-Toolkit/2010-01/msg00452.html另见:http ://osdir.com/ml/Google-Web-Toolkit/2010-01/msg00516.html其中提到了可能的用法说明.(换言之:作为抽象类开始的内容可能已被更改为与未删除的早期修饰符的接口) (2认同)

not*_*oop 28

abstract即使没有声明,接口和接口方法也是隐含的.所以没有必要明确指定它.

  • 所有的接口方法也都是隐式的`public`,因此将它们声称为冗余. (4认同)