Javaは、明示的なパッケージ-private修飾子を定義します

user7294900:

もちろん、Javaは、アクセスレベルがあるパッケージプライベート明示的な修飾子を追加しないことで実現しました。

しかし、明示的にこの修飾子を追加する方法はありませんか?それは我々がする必要があることを混乱ビットだオミット我々は唯一のパッケージにメンバーを使用する場合のアクセスレベル。

プライベートパッケージがデフォルトレベルになることを決めた理由は何な方法を、ありませんか?

我々はより意識的に関連するアクセスレベルを定義するよりも例えばデフォルトのレベルは、公開した場合。

これは、の質問の重複していない、それを使用する理由私はそれが暗黙的に定義だと明示的に定義することができない理由を私は知らない理由を、知っているので、。

EDIT

あなたは、ロンボクの使用して明示的に定義することができます@PackagePrivateを

パッケージプライベートアクセスレベルを持つように注釈を付けたエンティティのための明確な意思を示すために使用します。現在、それは公共の場の1、保護された、またはプライベートを作ることを避けるためにFieldDefaultsと値が使用します。

@PackagePrivate String thanksLombok;
Kartik:

私の意見では

それは次のようになり、悪いデフォルトであった場合

public修飾子とプライベートか何かの世界にアクセス可能となることを意図していたコードの一部を指定して欠場する可能性があるため。-また、これはOOPの中心的な概念の一つに対してかもしれないカプセル化

private 一般的にので、あなたではなく、一つのクラスですべてを書いて、他のクラスと対話したいと思います。

protected 私はいくつかの完全に別のディレクトリにあるクラス(子クラス)でのフォルダ内ではなくアクセスできるようにする(私見)フォルダ(パッケージ)である事を期待しているため。


私は再びそれをやるとしたら、私はデフォルトとしてパッケージプライベートを選ぶだろういくつかのものは、(同じパッケージに)一緒にしている場合ので、その意図は、彼らがお互いに話をすることができなければならないことかもしれません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=190656&siteId=1