私はパッケージを持っていP
ます
public interface I
public class S1 extends Foo implements I
public class S2 extends Bar implements I
。
I
今、私はの外部の実装を禁止したいのですP
がI
、私はそれをに使用しているので、公開する必要がありますpublic method(I parameter)
。
これはどのように行うことができますか?
このための「パッケージ最終パターン」はありますか?
あなたはそのような状況にあったことがありますか?
詳細:
インターフェイスの代わりにパッケージプライベートコンストラクタのみで抽象クラスを使用する可能性を認識していますI
が、異なるクラスS1
をS2
拡張するため、多重継承が必要になります(シミュレートされた多重継承(たとえば、Effective Javaアイテム18を参照)はここでは機能しません) )。