-3

重複の可能性:
インターフェイスまたは抽象クラス?
Javaの抽象とインターフェース

私はまだ Java の学生ですが、抽象クラスとインターフェースに出くわしました。

抽象クラスを作成するときは、次のようなメソッドを記述します。

public abstract void something();

ただし、インターフェイスでメソッドを作成すると、次のようになります。

public void something();

今、盲目ではありませんが、いくつかの違いがあることがわかります。extendまた、あなたが抽象クラスでありimplement、インターフェースであることも知っています。

しかし、誰かが違いを教えてもらえますか?

4

2 に答える 2

2

これらの2つのルーチンに違いはありません。違いは、abstractクラスにはすべての実装に使用される共通ロジックを含めることができますが、インターフェイスには含めることができないことです。

于 2012-11-12T23:55:09.173 に答える
2

「抽象」とは、基本的にメソッドに実装がないことを意味します。実装はサブクラスによって提供される必要があります。結果として、抽象メソッドを持つクラスのインスタンスを作成することはできません。

現在、Javaのインターフェースは、メソッドシグネチャの単なるコレクションです。設計による実装を含めることはできません。したがって、abstractキーワードは冗長になります。インターフェイスのインスタンスを作成することはできず、インターフェイスを実装する具象クラスのみを作成できます。

于 2012-11-12T23:57:57.693 に答える