Javaの研究で考えるには、第6章ノート - アクセス制御を
1.アクセスコントロールとは何ですか
異なるクラスの数でJAVAアプリケーションを知っている関数呼び出しのシリーズを達成するために互いに協力し、私は今、クラスA、クラスB 2つのクラスを持って、クラスBは、クラスBのそのメソッドを介して、メソッドとプロパティの多くを持っていました異なるキーワードや属性を設定し、そのようなクラスのクラスBのアクセス制御であり、特定のキーワード修正メソッドとプロパティのみを使用することができます
アクセス制御を実装する方法2
コンパイル単位と、このような保護された官民のようないくつかの特別なキーワード:概念のいくつかを知るために、アクセス制御を実装する方法を知りたいです。
2.1コンパイル単位は何ですか
JAVAコードを知っているjavacコンパイラがするようにプログラムすることができた後、このようなの.javaファイル形式なマシンはマシンコードを識別することができます.classファイル。このような*の.javaファイルがコンパイル単位です。
2.2コンパイル単位が特徴
- コンパイル・ユニット、パブリックになるには、ほとんど唯一のクラス(できない1)、およびクラスの公開は、同じ名前を記入し、提出しなければならない、場合は、一貫していなければなりません。
- コンパイル単位は、このコンパイルユニットの公衆そのクラスのサポートを提供するために、クラスの(任意の修飾子なし)のデフォルトの数に制限はありません。
これらのタイプのシナリオを持つことができ、コードを書かされたファイルの存在を前提としDemo.java。
- 唯一つのパブリッククラス。
public class Demo{}
- また、我々は修飾なしでクラスを持っています。
public class Demo{}
class Helper{}
class Utils{}
- 唯一の無修正(必須ではありませんファイル名に、この時点でより一般的に少ない)を持つクラス。
class Helper{}
class Utils{}
別の修飾子のクラスの3インパクトへのアクセス
2.2リストは、すべての可能ないずれか、公共のいずれかで、クラスの前に修飾子を追加し、デフォルトの何もないで、それらの間の違いがあります。
- 公共の変更クラス、そこにアクセスすることができます。
- 同じパッケージ内のクラスだけでは、なく、パッケージアクセスとなっているもので、デフォルトでは、このカテゴリの下にアクセスすることができます。
何がバンドされていない場合は、同じクラスパスに他のクラスでは、パッケージの下にあるクラスcom.pikzasは、新しいヘルパー()することができ修飾子なしでアクセスできる場合は、と正しく変換することができますが、もしこれらのクラスの新しいヘルパー(に、これらのパスにcom.alexまたはCOMまたはcom.pikzas.innerに位置クラス);アクセス権を持っていないので、この操作は、コンパイルエラーが求められます。
異なる変性剤の効果は、プロパティとメソッドにアクセスするための4
4.0。小規模から大規模なアールへのアクセス範囲に
このクラスは、独自の<クラスパスに同じパッケージを使用することができ、異なるクラスは、どこでも、任意のクラスで使用することができる。<使用することができます
それぞれ対応するキーワードは、プライベート、デフォルト、国民はあります