2017-06-27 5 views
0

Serializable、Cloneable、Remote、EventListenerなどのマーカーインターフェイスを実装すると、どのように機能を区別できますか?マーカーが異なる機能を区別するインタフェース

例:クラスMarkerDemoはシリアライズ、Cloneableを、リモート、EvenListener

+0

* instanceof *を使用して、指定されたインタフェースを実装するクラスからインスタンスがあるかどうかを区別できます。 – alainlompo

答えて

0

マーカーインタフェースは、フレームワークまたはライブラリで使用されることを意図されている実装します。それはAPIを介して発見することができます(例えば、EventListenerメソッドaccpeting)またはObjectをaccetetingライブラリとの反射を通して。この機能は、Java 5で注釈が導入されて廃止されました

+1

私は*廃止*とは言いません。多くの必要性が低く、アノテーションはより多くのパワーを与えます。しかし、マーカーインタフェースを使用する場合、注釈は単純な 'instanceof'よりも複雑なロジックを必要とします。 – Kayaman

+0

現実には、Java 5の後には新しいMarkerインタフェースがほとんどないことがあります。私は以前に存在していた注釈を持っていると考えていますが、「Serializable」もないでしょう。 –

+0

おそらくそうです。私は新しいマーカーインターフェイスも書きません。 – Kayaman

関連する問題