ts
チケットシステム用のインターフェースを含むパッケージがあります。hts
の具体的な実装を含むパッケージもありますts
。私は を持ってTicketSystem.class
おりts
、そこから最初のものHTicketSystem.class
をhts
拡張しました。パッケージHTicketSystem.class
内の唯一のパブリック クラスです。hts
の他のすべてのクラスにhts
は、デフォルトの可視性があります。hts
パッケージには多数のファイルがあり、その中には Java Bean があります。これらの Bean をサブパッケージに抽出したいと思いますhts.beans
。明らかな問題は可視性ですJLS
。
7.1 パッケージメンバー
...
パッケージの階層的な命名構造は、従来の方法で関連するパッケージを整理するのに便利であることを目的としていますが、最上位の型と同じ単純な名前を持つサブパッケージを持つパッケージを禁止すること以外には、それ自体には何の意味もありません (§7.6)。そのパッケージで宣言されています。oliver という名前のパッケージと oliver.twist という名前の別のパッケージの間、または evelyn.wood と evelyn.waugh という名前のパッケージの間に特別なアクセス関係はありません。
1)beanA.class
デフォルトの可視性のままにすると、hts
クラスからは見えなくなります。
2)beanA.class
公開に変更すると、外から見えるようになります。
提案/ベストプラクティスは大歓迎です。