私はライブラリを設計していますが、クライアントにアクセスさせたいクラスをpublic
にするだけでよいということはわかっていますが、このベストプラクティスに固執しています。私が理解していることから、これはベストプラクティスです。私はinternal
という名前のパッケージを私のライブラリのパッケージの1つに入れて、私がパッケージプライベートにしようとしているクラスを保持することにしましたが、最終的にはpublic
となるかもしれません。私のライブラリに「内部」パッケージを含めるのは悪い習慣ですか?
Javaで動作するパッケージには、「親パッケージプライベート」のクラスを作成できないため、実際には「悪い習慣」があります。
「適切なリフレクションを使用すると、何にでもアクセスできます」 - SecurityManagerがない場合に限ります。信頼できないコードは「何か」にアクセスできません。あなたが書いたコードや実行することを決めた信頼できるコードは、もちろん何でもできます。 –
@ErwinBolwidtこれらのクラスを使用しないことを潜在的なクライアントに知らせるにはどうすればよいですか?どういうわけかそれらをマークするか、単に「内部」のままにしておくべきですか? @ deprecated?私の方法のどれも静的なものが本当にそれを使うことができないのであれば、これは必要ではないかもしれないと思います – defoification