[???] / [Java FAQ] / [S009]
S009: 修飾子 - modifier

[S009 Q-01]
Back
アクセス修飾子 public, protected, private, 「無指定」の違いは? [S009 A-01] 違いは次のようになっています。 public どのクラスからも参照可能。 protected クラス自身、そのサブクラス、および同じパッケージに含まれる全てのクラ スから参照可能。 無指定 クラス自身、および同じパッケージに含まれる全てのクラスから参照可能。 private クラス自身からのみ参照可能。 参考記事 [JavaHouse-Brewers:1242]
[S009 Q-02]
Back
class を final にする意義はあるのでしょうか? [S009 A-02] 次のように考えられます。 フレームワーク 比較的大きなプロジェクトでは、 final を、設計標準や、プログラミング 標準の一部 として使うことができると考えられます。つまり、継承を許さ ず使うことのみを許すことで、怪しげなよくわからないクラスを大量に作ら れてしまうことを防止する役割をはたします。 高速化 コンパイル時にどのメソッドを呼び出すか確定しているため、 コンパイラ によってはメソッドをインライン展開する可能性があります。そのため実行 速度が上がる可能性があります。 変更不能 変更不能オブジェクトを作成するときに使われます。例えば java.lang.String が final で無かった場合メソッド(例えば java.lang.String#equals(Object))をオーバーライドすることによって、 変更不能であるはずの java.lang.String が、変更不能でないような振る舞 いを持たせることが可能になります。 参考記事 [JavaHouse-Brewers:88]

Back
contributor: AMADA Takashi
コメントの送り先:Java FAQ BBS