1

非常に簡単な質問があります(私は推測します!)インターフェイスがパブリックメソッドのみを宣言できるのに、クローン可能なインターフェイスでクローンメソッドを保護するにはどうすればよいですか?

4

4 に答える 4

2

Cloneableインターフェースには、実際にはメソッドが定義されていません。これは、Serializableに似た、単なるマーカーインターフェイスです。

実際に複製可能なオブジェクトはすべてこのインターフェースを実装し、Objectのclone()メソッドをオーバーライドすることが期待されます(少なくともパブリックアクセスにするため)。

于 2012-05-09T23:04:59.770 に答える
2

インターフェイスはCloneableメソッドを定義しません。
protected Object clone()はのメソッドでjava.lang.Objectあり、クラスがを実装していない場合は例外をスローしますCloneable

于 2012-05-09T23:05:05.650 に答える
2

Cloneableメソッドを宣言していません:)

あなたは、メソッドObjectを宣言する、について考えています。clone()

于 2012-05-09T23:05:18.357 に答える
2

Cloneableマーカーインターフェイスであり、メソッドはありません。

クローンメソッドはObjectクラスにあります。これは、Javaのすべてのオブジェクトが暗黙的にObjectを拡張し、保護されている場合でも使用できるためです。

クラスが実装されておらずCloneable、そのクローンメソッドが呼び出された場合、 CloneNotSupportedExceptionがスローされます。

于 2012-05-09T23:06:36.410 に答える