1

私はいくつかのJavaコードを調べていますが、何も含まれていない抽象クラスがたくさんあります。

たとえば。このようなもの -

public abstract class Processor
 {

 }

ただし、具体的な実装クラスがあります。そのような抽象クラスはどのような状況で意味がありますか?

4

4 に答える 4

3

すべてのサブクラスに共通の動作と状態を持つ基本クラスを作成する場合は、インターフェイスよりも抽象クラスであるIMOが優先されます。空の抽象クラスがインターフェースよりも役立つ状況はわかりません。通常、マーカーインターフェイスは空のインターフェイスです。

于 2012-08-07T18:39:53.580 に答える
2

Abstractクラスは、すべての可能な実装クラスに共通するロジックがある場合に使用されます。

内部Abstract classに何も持たず、それを拡張するさまざまなクラスを記述しても、ほとんど役に立ちません。唯一の点は、すべての具象クラスdifferenceに同じものを使用できることです。handle

于 2012-08-07T18:50:17.720 に答える
0

状況の1つは、キーワードを使用してクラスをインスタンス化したくない場合はnew、それが抽象であると定義できることです。

于 2012-08-07T18:30:30.630 に答える
0

一部のライブラリでは、リフレクションを使用してこれらのマーカー抽象クラスの実装を探します。また、これは抽象クラス名自体によるコードの一種のドキュメントです。

于 2012-08-07T18:33:46.270 に答える