検索
ホームページJava&#&チュートリアル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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい