2013-06-27 2 views
7

JavaのNullインタフェースとMarkerインタフェースの中核となる点は何ですか?私はインタビューの一つでこの質問をしてきました。Null対マーカインタフェース

ありがとうございました。

+1

'ヌルinterface'は何ですか?私は 'Void'についてのみ知っています、あなたの定義によるNullインターフェースですか? –

+0

マーカーインターフェイスの使用方法は?私たちがマーカーまたはヌルインターフェースのために行くべきとき?誰か説明できますか? –

答えて

5

ヌルインターフェイスに関するメタデータを宣言するための唯一の方法だったです。彼らは私が知る限り互換的に使用されています。

これらは、メソッドのないインターフェイスです。マーカーインターフェイスの例は、Serializable,Cloneableです。

+0

マーカーインターフェイスの使用方法は?私たちがマーカーまたはヌルインターフェースのために行くべきとき?誰か説明できますか? –

1

ヌルインターフェイスはマーカーインターフェイスで、関数宣言はありません。空のインターフェイスです。これは、別の方法で処理する必要があるコンパイラを伝えるためです。

2

ヌルインターフェイスは、マーカーインターフェイスの別の名前です。このようなインタフェースは空であり、すなわちメソッド宣言は一切ない。

たとえば、javaのSerializable Cloneableクラス。 マーカーインターフェイスまたは他の方法でラウンドのためのちょうど別の名前には、Javaの以前のバージョンでは、マーカーインタフェースはクラス

0

マーカーインターフェイスの例はヌルインターフェイスです。

インターフェイスが異なるタイプです。主にインタフェース、マークインインタフェース、マーカインタフェースを拡張しています。

マーカーの相違点Intefaceとその他の点では、マーカーインターフェイスにはメソッドがありません。たとえば、直列化のための - 直列化可能です。リモート - リモートメソッド通信用。リモートインタフェースはこのマーカーインタフェースを拡張する必要があります。あなたのリモートインタフェースがマーカインタフェースを拡張するとき、それは拡張インタフェースと呼ばれます。

これらのクラスは、このクラスのオブジェクトを別々に扱う必要があることをコンパイラーに伝えます。いくつかのマーカーインタフェースは、次のとおり、Serializableをリモート、Cloneableを

コード:

interface markerImp 
{ 


} 

class MarkerTest implements markerImp 
{ 

} 

public class TestInstanceOf 
{ 

public static void main(String []args) 
{ 
    MarkerTest mt = new MarkerTest(); 
    if(mt instanceof markerImp) 
{ 
    System.out.println("True"); 
} 
else 
{ 
    System.out.println("False"); 
} 
} 
} 
関連する問題