第6章 - アクセス制御

Javaの研究で考えるには、第6章ノート - アクセス制御を

1.アクセスコントロールとは何ですか

異なるクラスの数でJAVAアプリケーションを知っている関数呼び出しのシリーズを達成するために互いに協力し、私は今、クラスA、クラスB 2つのクラスを持って、クラスBは、クラスBのそのメソッドを介して、メソッドとプロパティの多くを持っていました異なるキーワードや属性を設定し、そのようなクラスのクラスBのアクセス制御であり、特定のキーワード修正メソッドとプロパティのみを使用することができます

アクセス制御を実装する方法2

コンパイル単位と、このような保護された官民のようないくつかの特別なキーワード:概念のいくつかを知るために、アクセス制御を実装する方法を知りたいです。

2.1コンパイル単位は何ですか

JAVAコードを知っているjavacコンパイラがするようにプログラムすることができた後、このようなの.javaファイル形式なマシンはマシンコードを識別することができます.classファイル。このような*の.javaファイルがコンパイル単位です。

2.2コンパイル単位が特徴

  1. コンパイル・ユニット、パブリックになるには、ほとんど唯一のクラス(できない1)、およびクラスの公開は、同じ名前を記入し、提出しなければならない、場合は、一貫していなければなりません。
  2. コンパイル単位は、このコンパイルユニットの公衆そのクラスのサポートを提供するために、クラスの(任意の修飾子なし)のデフォルトの数に制限はありません。

これらのタイプのシナリオを持つことができ、コードを書かされたファイルの存在を前提としDemo.java。

  1. 唯一つのパブリッククラス。
public class Demo{}
  1. また、我々は修飾なしでクラスを持っています。
public class Demo{}
class Helper{}
class Utils{}
  1. 唯一の無修正(必須ではありませんファイル名に、この時点でより一般的に少ない)を持つクラス。
class Helper{}
class Utils{}

別の修飾子のクラスの3インパクトへのアクセス

2.2リストは、すべての可能ないずれか、公共のいずれかで、クラスの前に修飾子を追加し、デフォルトの何もないで、それらの間の違いがあります。

  1. 公共の変更クラス、そこにアクセスすることができます。
  2. 同じパッケージ内のクラスだけでは、なく、パッケージアクセスとなっているもので、デフォルトでは、このカテゴリの下にアクセスすることができます。

何がバンドされていない場合は、同じクラスパスに他のクラスでは、パッケージの下にあるクラスcom.pikzasは、新しいヘルパー()することができ修飾子なしでアクセスできる場合は、と正しく変換することができますが、もしこれらのクラスの新しいヘルパー(に、これらのパスにcom.alexまたはCOMまたはcom.pikzas.innerに位置クラス);アクセス権を持っていないので、この操作は、コンパイルエラーが求められます。

異なる変性剤の効果は、プロパティとメソッドにアクセスするための4

4.0。小規模から大規模なアールへのアクセス範囲に

このクラスは、独自の<クラスパスに同じパッケージを使用することができ、異なるクラスは、どこでも、任意のクラスで使用することができる。<使用することができます

それぞれ対応するキーワードは、プライベート、デフォルト、国民はあります

クラスへのアクセス限り4.1.public修飾プロパティまたはメソッド、このメソッドまたはプロパティにアクセスすることができます

4.2.private修飾プロパティまたはメソッドは、これは、(たとえ異なるクラスの同じコンパイル単位内でアクセスすることができない)、独自にアクセスするための唯一のクラスであります

4.3デフォルトデフォルトのパッケージへのアクセスは、キーワードのみ、また、プロパティやメソッドの修正ではないものです

このキーを保護4.4継承によって生じるアクセスの問題を解決するために主に表示され、修飾されたプロパティまたはメソッドを保護された親クラスは、同じクラスのパッケージのクラスパスのためのサブクラスに表示されています

おすすめ

転載: www.cnblogs.com/Pikzas/p/11210542.html