アクセスレベルがデフォルトのクラス「Hoge」を作ったときの違いは?
Hoge(){}
と
public Hoge(){}
?
クラスが他のパッケージから見えないことは知っていますが、その場合、その「パブリック」はどのように機能しますか?
アクセスレベルがデフォルトのクラス「Hoge」を作ったときの違いは?
Hoge(){}
と
public Hoge(){}
?
クラスが他のパッケージから見えないことは知っていますが、その場合、その「パブリック」はどのように機能しますか?
公式ドキュメントを参照してください:
Access Levels
------------+---------+---------+-----------+------
Modifier | Class | Package | Subclass | World
------------+---------+---------+-----------+------
public | Y | Y | Y | Y
protected | Y | Y | Y | N
no modifier | Y | Y | N | N
private | Y | N | N | N
コンストラクターはクラスのメンバーであり、コンストラクターのアクセス レベルは他のメンバーと同じように扱われます。
クラス メンバーが public の場合、クラスを表示できるすべてのユーザーに表示される(他のユーザーには表示されない)ことを意味します。
したがって、クラスがパッケージ プライベートである場合、そのパブリック メンバーとパッケージ プライベート メンバーは本質的に同じ可視性を持ちます。
私が考えることができる唯一の違いは、後でクラスがパブリックになると、パブリック メンバーは (クラスと共に) すべてのユーザーに表示されるようになり、パッケージ プライベート メンバーはそのまま残ることです。