私は本当に2つの質問を持っています:誰かがJavaインターフェイスの可視性の選択肢を要約できますか?
1)あなたはいつパッケージプライベートインターフェイスを使いますか?
2)パブリックインターフェイスをパッケージ外で実装する方法はありますか?
私は本当に2つの質問を持っています:誰かがJavaインターフェイスの可視性の選択肢を要約できますか?
1)あなたはいつパッケージプライベートインターフェイスを使いますか?
2)パブリックインターフェイスをパッケージ外で実装する方法はありますか?
1)インターフェイスがパッケージの範囲内でのみ必要な場合。たとえば、インターフェイスではコードを読みやすくすることができますが、パッケージの呼び出し元にはコードは必要ありません。
2)いいえ、これはできません。詳細はlinkを参照してください。インタフェースは実装を定義しません。あなたはそれを実装するためにどのように閉じることができますか?
1)パッケージ内の複数のクラスで使用されるユーティリティメソッドがあります。これらのメソッドは決して外部から呼び出されるべきではありません。または、あるクラスだけが必要であるかもしれませんが、そのクラスは非常に大きいので、保守性のためにいくつかのメソッドを別のクラスに移動する必要があります。
2)私は申し訳ありませんが、私は)今ドアを急いだ(それを試してみなければならないだろうが、あなたは効果的行うことができるかもしれないそのインターフェイスで保護されたデフォルトコンストラクタを宣言することもできます。
パッケージのプライベートインターフェイスは、戦略パターンの実装の場合にのみ便利です。ここでは、使用したいと思うかもしれないが世界に型を認識させたくない実装がいくつかあります。
コンストラクタをインターフェイスで宣言することはできません。上の注意は正しいですが、公開されていればどこにでも実装できます。 –