2012-05-13 15 views

答えて

8

Javaには抽象インターフェースはありません(デフォルトでインターフェースは抽象抽象クラスです)。抽象クラスがあります。

抽象クラスとインタフェースの主な違いは、抽象クラスが通常のクラスと同じように継承(拡張)されるため、2つを並列に拡張できないことです。同時に複数のインタフェースを実装できます時間。

3

抽象的なキーワードは、Javaインタフェースを使用しているときは廃止されています。実装は含まれていませんが、定義は含まれています。

-1

抽象クラスは、少なくとも1つのメソッドが実装されていないクラスです。そのため、メソッドのヘッダーを書き込む前にキーワード「abstract」を使用することが必須です。

これに対して、すべてのメソッドが抽象クラスであるため、abstractキーワードを使用する必要はありません。

+0

Strange。私はjarファイルを逆コンパイルして、抽象的な抽象インターフェースBlahを見つけました。したがって、疑問。それはまだコンパイルされていますが、それは変です。 – Brad

+1

@Bradそれは実際にはデコンパイラのバグです。すべてのインターフェイスは常に抽象です。 (推測すると、 "抽象抽象"ビットがクラス記述子に設定されているので、逆コンパイラは逆コンパイルされた出力でその語を発行しているので、インタフェースでもありません。それを受け入れます;それはここで "ほとんど無害"だと思います) –

2

インターフェイスはすでに抽象です。 OOPに関連する重要な用語「抽象的」は、自分自身のインスタンスを作成できないことを意味しており、そこから独自のオブジェクトを派生できる基本クラスとしてのみ使用できます。

インターフェイスは、コードそのものを定義するのではなく、インターフェイスでメソッドの機能を提供するクラスによって実装する必要があるという点で抽象です。

インターフェイスの前面に「抽象」という言葉を追加することができます。何も別のことは起こりません。しばらく前のJavaのドキュメントでも、作者はインターフェイスの表現に「抽象」を含めることによってエラーを作りました。

しかし、すべてのインターフェイスが抽象的であり、違いがないことを知る必要があります。

Check this link

関連する問題