インターフェイス public と abstract の指定の違いを誰か教えてもらえますか?
public interface Test{}
と
abstract interface Test{}
インターフェイス public と abstract の指定の違いを誰か教えてもらえますか?
public interface Test{}
と
abstract interface Test{}
いつものように、JLS が答えを提供します ( JLS 9.1.1.1 ):
すべてのインターフェースは暗黙のうちに抽象的です。
publicもちろん、 2番目の例に修飾子を含めるつもりだと思います。そうでない場合は、2 つの間に他にも違いがありますが、それらはabstractキーワードとは関係ありません。
インターフェイスは暗黙の抽象です。だからabstract interface必要ありません。
JLS から: http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.1.1.1
9.1.1.1. 抽象インターフェース
すべてのインターフェースは暗黙のうちに抽象的です。
この修飾子は廃止されており、新しいプログラムでは使用しないでください。
定義上、インターフェイスをabstractそのまま宣言するのは冗長です。abstractしたがって、唯一の違いはpublicコンポーネントです。最初のインターフェイス (パブリック) はどこからでもアクセスできますが、2 番目のインターフェイス (デフォルトの可視性) はパッケージ プライベートです。つまり、独自のパッケージ内でのみアクセスできます。