あなたは、パッケージスコープのクラスがあるとしましょう:スコープ
class MyClass {
}
class MyClass {
public f() { ... }
}
と
class MyClass {
protected f() { ... }
}
と
の違いは何ですかclass MyClass {
f() { ... }
}
?
クラスはパッケージスコープであるため、関数public
またはprotected
は何を行うか追加しますか?
パッケージスコープのクラスのための私の推論:それはパッケージであるので、あなたは、パッケージの外側からクラスを使用することはできません
- はスコープ、そう
public
は追加効果がありません。 - 同じ理由で、
protected
は、パッケージ内にとどまる必要があるため、追加の効果はありません。 - したがって、他の3つの修飾子(パッケージ,
public
、protected
)はすべて同じですので、private
のみが制限の影響を受けます。
これは間違いありませんか?
クラスがパッケージスコープであるときの変更の違いはわかりません。
[Javaでは、デフォルト、パブリック、プロテクト、プライベートの違い](https://stackoverflow.com/questions/215497/in-java-difference- between-default-public-protected-and-プライベート) –
@TrầnAnhNam私は変更の違いを理解しますが、クラスがパッケージスコープではないことを理解しています。 –
この記事では、パッケージ内の修飾子でアクセス可能なスコープを示しています。あなたのクラスはパッケージスコープですが、そのサブクラスはそうでないかもしれません。 –