ホームページ >Java >&#&チュートリアル >Javaの非アクセス修飾子は何ですか?
Java には、他の多くの関数を実装するための非アクセス修飾子が多数用意されています。
静的修飾子は、クラスのメソッドと変数を作成するために使用されます。 (推奨学習: Java コース )
Final 修飾子は、クラス、メソッド、変数の実装を完了するために使用されます。
abstract 修飾子は、抽象クラスとメソッドを作成するために使用されます。
同期修飾子と揮発性修飾子 (スレッド用)
静的修飾子
静的変数
static キーワードクラスインスタンスから独立して変数を作成するために使用されます。クラスのインスタンスがいくつあっても、静的変数のコピーは 1 つだけです。静的変数はクラス変数とも呼ばれます。ローカル変数は静的として宣言できません。
静的メソッド
static キーワードは、クラス インスタンスから独立したメソッドを作成するために使用されます。静的メソッドでは、クラスのオブジェクトであるインスタンス変数を使用できません。静的メソッドはクラス メソッドとも呼ばれます。静的メソッドはパラメーターからすべてのデータを取得し、変数を参照せずにそれらのパラメーターから何かを計算します。クラス変数またはメソッドには、クラス名の後にドット (.) と変数またはメソッドの名前を続けることでアクセスできます。
final 修飾子
final 変数
final 変数は明示的に 1 回のみ初期化できます。final 変数として宣言された参照は、明示的に初期化できます。別のオブジェクトを参照するために再割り当てすることはできません。ただし、オブジェクト内のデータは変更できます。したがって、オブジェクトの状態は変更できますが、参照は変更できません。変数の場合、final 修飾子は通常、定数をクラス変数にするために static とともに使用されます。
最終メソッド
サブクラスは最終メソッドをオーバーライドできません。前述したように、final 修飾子はメソッドがサブクラスで変更されるのを防ぎます。
最終メソッドを宣言する主な目的は、他の人がメソッドの内容を変更できないようにすることです。
final class
final として宣言されたクラスを使用する主な目的は、クラスがサブクラス化されるのを防ぐことです。クラスが「final」とマークされている場合、このクラスは他のクラスに継承できません。
抽象デコレータ
抽象クラス
抽象 (抽象) クラスはインスタンス化できません。クラスが抽象として宣言されている場合、その唯一の目的はクラスを拡張することです。
クラスを同時に抽象クラスと最終クラスにすることはできません (最終クラスは拡張できないため)。クラスに抽象メソッドが含まれる場合、そのクラスは抽象として宣言される必要があります。そうしないと、コンパイル エラーがスローされます。
抽象クラスには、通常のメソッドだけでなく抽象メソッドも含めることができます。
#抽象メソッド
抽象メソッドは、実装を行わずに宣言されたメソッドです。メソッド本体 (実装) はサブクラスによって提供されます。抽象メソッドは決して最終的または厳密ではありません。 抽象クラスを拡張するクラスは、サブクラスも抽象クラスでない限り、スーパークラスのすべての抽象メソッドを実装する必要があります。 クラスに 1 つ以上の抽象メソッドが含まれる場合、クラスは抽象として宣言される必要があります。抽象クラスには抽象メソッドを含める必要はありません。 抽象メソッドはセミコロンで終わります。例: public abstract sample();synchronized modifier
synchronized キーワードは、一度に 1 つのメソッドのみにアクセスできることを示すために使用されます。同期修飾子は、4 つのアクセス レベル修飾子のいずれにも適用できます。volatile 修飾子
volatile 修飾子は、変数にアクセスするスレッドが変数の独自のプライベート コピーを常にメイン コピーとマージする必要があることを JVM に知らせるために使用されます。記憶の中で。 揮発性変数にアクセスすると、メイン メモリ内にキャッシュされた変数のコピーがすべて同期されます。 Volatile は、タイプがプライベートであるインスタンス変数にのみ適用できます。揮発性オブジェクト参照は null になる可能性があります。以上がJavaの非アクセス修飾子は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。