検索

Javaで静的を使用する方法

May 29, 2019 pm 05:14 PM
java

「Java プログラミングの考え方」の P86 に次の文章があります:

「静的メソッドは、これがないメソッドです。静的メソッド内で非静的メソッドを呼び出すことはできません。その逆も可能です」 . また、静的メソッド内で呼び出すこともできます。オブジェクトを作成せずに、静的メソッドはクラス自体を通じてのみ呼び出されます。実際、これが静的メソッドの主な目的です。」

Javaで静的を使用する方法

# この段落は単なる説明ですが、静的メソッドの特殊な機能がわかりますが、静的キーワードの基本的な機能もわかります。一言で説明すると、

オブジェクトを作成せずに(メソッド/変数)を呼び出すと便利です。)

明らかに、static キーワードによって変更されたメソッドや変数は、アクセスのためにオブジェクトに依存する必要はなく、クラスがロードされている限り、クラス名を通じてアクセスできます。

static を使用すると、クラス メンバーのメソッドとクラス メンバー変数を変更できます。また、静的コード ブロックを作成してプログラムのパフォーマンスを最適化することもできます。

静的メソッド

静的メソッドは一般に静的メソッドと呼ばれます。静的メソッドはオブジェクトに依存せずにアクセスできるため、静的メソッドの場合は、 no this, because it is notattached any object. オブジェクトが存在しないので、this も存在しません。また、この機能により、クラスの非静的メンバー変数および非静的メンバー メソッドに静的メソッドでアクセスすることはできません。これは、非静的メンバー メソッド/変数は呼び出す前に特定のオブジェクトに依存する必要があるためです。

ただし、非静的メンバー メソッドと非静的メンバー変数には静的メソッドではアクセスできませんが、静的メンバー メソッド/変数には非静的メンバー メソッドでアクセスできることに注意してください。

簡単な例:

Javaで静的を使用する方法

上記のコードでは、print2 メソッドがオブジェクトとは独立して存在するため、直接呼び出すことができます。クラス名を使用します。非静的メソッド/変数が静的メソッドでアクセスできる場合、メイン メソッドに次のステートメントがあるとします:

MyObject.print2();

この位置にはオブジェクトがありません。今度はstr2が全く存在しないので矛盾が生じます。メソッドについても同様で、print1メソッドでは非静的メンバ変数にアクセスするかどうか予測できないため、静的メンバメソッド内での非静的メンバ変数へのアクセスも禁止されています。

非静的メンバー メソッドの場合、静的メンバー メソッド/変数へのアクセスに制限はありません。

したがって、オブジェクトを作成せずにメソッドを呼び出したい場合は、このメソッドを static に設定できます。最も一般的な静的メソッドは main メソッドですが、main メソッドが静的である必要がある理由については、これで明らかになりました。プログラムは main メソッドの実行時にオブジェクトを作成しないため、クラス名を介してのみアクセスできます。

静的変数

静的変数は静的変数とも呼ばれます。静的変数と非静的変数の違いは、静的変数はすべてのオブジェクトで共有され、コピーは 1 つだけあり、クラスが最初にロードされた場合にのみ初期化されます。非静的変数はオブジェクトによって所有され、オブジェクトの作成時に初期化されます。複数のコピーがあり、各オブジェクトが所有するコピーは相互に影響しません。

静的メンバー変数の初期化順序は、定義された順序で初期化されます。

rree

以上がJavaで静的を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

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 プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1

メモ帳++7.3.1

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