1. クラス修飾子は、アクセス可能な制御文字と非アクセス制御文字の 2 種類に分類されます。
アクセス制御シンボルは次のとおりです。 public クラス修飾子 public
非アクセス制御演算子には、抽象クラス修飾子、最終クラス修飾子、最終クラス修飾子が含まれます。
1) パブリック クラス修飾子 public: Java 言語のクラスには、アクセス制御修飾子が 1 つだけあります。public、これは public です。すべての Java プログラムのメイン クラスは、他のクラスやプログラムで使用するためのパブリック クラスとして定義する必要があります。
2) 抽象クラス修飾子 abstract:抽象修飾子で修飾されたクラスはすべて、抽象クラスと呼ばれます。いわゆる抽象クラスは、具体的なオブジェクトを持たない概念的なクラスを指します。このようなクラスは、Java 言語の抽象クラスです。
3) 最終クラス修飾子final:クラスがサブクラスを持つことができない場合、修飾子finalを使用してそれを最終クラスとして示すことができます。 Final として定義されたクラスは通常、固定された役割を持ち、特定の標準機能を完了するために使用されるクラスです。
4) クラスのデフォルトのアクセス制御文字:クラスにアクセス制御文字がない場合は、そのクラスがデフォルトのアクセス制御文字を持っていることを意味します。現時点では、このクラスは同じパッケージ内のクラスからのみアクセスまたは参照できます。このアクセス機能は、パッケージ アクセシビリティとも呼ばれます。
2.ドメイン制御修飾子も、アクセス可能な制御文字と非アクセス制御文字の 2 つのカテゴリに分類されます。
アクセス制御文字には、パブリック アクセス制御文字: public、プライベート アクセス制御文字: private、プライベート保護アクセス制御文字: private の 4 種類があります。
非アクセス制御修飾子には、静的ドメイン修飾子: 静的、最終ドメイン修飾子: 最終、一時的ドメイン修飾子: の 4 種類があります。
1) パブリックアクセス制御文字 public: public で修飾されたドメインをパブリックドメインと呼びます。パブリック フィールドがパブリック クラスに属している場合、他のすべてのクラスから参照できます。 public 修飾子は運用上のセキュリティとデータのカプセル化を低下させるため、一般に public フィールドの使用を減らす必要があります。
2) プライベートアクセス制御文字 private: private で変更されたメンバ変数 (フィールド) は、そのクラス自身からのみアクセスでき、他のクラス (サブクラスを含む) からは参照できません。
3) 保護されたアクセス制御文字 protected: protected で変更されたメンバー変数は、次の 3 つのカテゴリから参照できます: ① クラス自体、② そのクラスと同じパッケージ内の他のクラス、③ 他のパッケージ内のこのクラスのサブクラス。 protected 修飾子を使用する主な目的は、他のパッケージ内のサブクラスが親クラスの特定のプロパティにアクセスできるようにすることです。
4) private protected アクセス制御シンボル private protected:修飾子 private protected で変更されたメンバ変数は、クラス自体またはそのサブクラスからアクセスおよび参照できます。
5) 静的ドメイン修飾子 static: static で修飾されたメンバ変数は、クラスの変数にのみ属し、特定のオブジェクトには属しません。静的メンバ変数の値は、メモリ領域のパブリック ストレージ ユニットに格納されます。特定のオブジェクトのメモリ範囲に格納されるのではなく、クラス。任意のクラスのオブジェクトがアクセスすると、同じデータが取得され、任意のクラスのオブジェクトがそのデータを変更すると、同じメモリ ユニット上で動作します。
6) 最終ドメイン修飾子final:最終ドメイン修飾子finalは、記号定数を定義するために使用されます。クラスのドメイン (メンバー変数) が修飾子 Final で指定されている場合、その値はプログラムの実行を通じて変更されません。
7) 揮発性 (共有) ドメイン修飾子 volatile:揮発性 (共有) ドメイン修飾子 volatile は、このメンバー変数が複数のスレッドによって制御および変更される可能性があることを示すために使用されます。つまり、プログラムの実行中に、このメンバー変数は他のプログラムの影響を受けたり、その値が変更されたりする可能性があります。したがって、使用時にはこのメンバ変数の値の変化に注意する必要があります。通常、volatile は、外部入力を受け入れるフィールドを変更するために使用されます。
8) 一時ドメイン修飾子トランジェント:一時ドメイン修飾子トランジェントは、一時変数を定義するために使用されます。その特徴は次のとおりです。修飾子 transient で修飾された一時変数は、一時変数が永続的な状態に属さないことを Java 仮想マシンに指定して、さまざまなオブジェクトのアーカイブ機能を実現します。それ以外の場合、クラス内のすべての変数はオブジェクトの永続的な状態の一部となるため、オブジェクトを保存するときに保存する必要があります。
3.メソッドの制御修飾子も、アクセス可能な制御文字と非アクセス制御文字の 2 つのカテゴリに分類されます。
アクセス制御文字には、パブリック アクセス制御文字: public、プライベート アクセス制御文字: private、プライベート保護アクセス制御文字: private の 4 種類があります。
非アクセス制御文字には、抽象メソッド制御文字: 静的メソッド制御文字: ローカルメソッド制御文字: 同期メソッド制御文字: 同期メソッドの 5 種類があります。
1) 抽象メソッド制御記号abstract:修飾子abstractで修飾されたメソッドを抽象メソッドと呼びます。抽象メソッドは、メソッド ヘッダーのみを持ち、メソッド本体と操作の実装を持たないメソッドです。
2) 静的メソッド制御記号 static:修飾子 static で修飾されたメソッドを静的メソッドと呼びます。静的メソッドはクラス全体に属するクラス メソッドであり、静的メソッドで変更または修飾されていないメソッドは、特定のクラス オブジェクトに属するメソッドです。 静的メソッドはクラス全体に属するため、オブジェクトに属するメンバー変数を操作して処理することはできませんが、クラス全体に属するメンバー変数のみを処理できます。つまり、静的メソッドは静的ドメインのみを処理できます。
3)ファイナルメソッド制御文字final:修飾子finalで修飾されたメソッドをファイナルメソッドと呼びます。 Final メソッドは、その機能と内部ステートメントを変更できないメソッドです。つまり、final メソッドはオーバーロードできません。このようにして、このメソッドの機能と操作が固定され、現在のクラスのサブクラスが親クラスの主要なメソッドを誤って定義するのを防ぎ、プログラムの安全性と正確性が保証されます。 private 修飾子によってプライベートとして修飾されたすべてのメソッド、および Final クラスに含まれるすべてのメソッドは、final メソッドとみなされます。
4)ローカルメソッド制御記号ネイティブ:修飾子ネイティブで修飾されたメソッドをローカルメソッドと呼ぶ。プログラムの実行速度を向上させるには、プログラムのメソッド本体を他の高級言語で記述する必要があります。その後、メソッドをローカル メソッドとして定義し、修飾子ネイティブで変更できます。
5) 同期メソッド制御修飾子 synchronized:この修飾子は主に、マルチスレッドが共存するプログラムの調整と同期に使用されます。