ホームページ  >  記事  >  バックエンド開発  >  静的キーワードの包括的な理解

静的キーワードの包括的な理解

小云云
小云云オリジナル
2018-03-08 09:12:281737ブラウズ


static キーワードは静的またはグローバルを意味し、クラス、メソッド、変数の変更に使用できます。通常、クラス メンバーや静的変数 (つまり、ロード後に変更されない変数) についてよく耳にします。静的メンバーがロードされると、その値は変更されません。たとえば、String 文字列は、初期化されるとその値が変更されません。通常、開発では共有メンバーを静的に変更します。

1. 最も一般的なものは次のとおりです: メンバー変数を変更する (クラスのメンバーに変える) ために使用されます。例: プログラムのステータスや例外情報。 (これら 2 つは通常、static および Final と一緒に変更されます。これは開発では非常に一般的です)。

2. メンバー メソッドを変更し、ツール クラスでよく使用される「type.メソッド名」を使用して呼び出すことができるクラス メソッドに変換するために使用されます。 (つまり、オブジェクトを作成する必要はありません)

3. 静的コード ブロック、複数のオブジェクトをまとめて初期化します (静的コード ブロックは、静的変数の後にのみ実行されます)

静的変数

次に説明します。静的変数 (静的変数によって変更される) とインスタンス変数 (静的変数によって変更されない) の違い:

1. 静的変数: メモリ内の単なるコピーであり、一度だけ初期化され、一度だけメモリを割り当てます。タイプによって直接アクセスすることもできます。オブジェクトを作成してアクセスすることもできます。

2. インスタンス変数: オブジェクトは呼び出されるときに作成する必要があります。メモリ内に複数の検査が存在する可能性がありますが、それらは相互に影響しません。

静的メソッド

静的メソッドはクラス名を通じて直接呼び出すことができ、インスタンスも直接呼び出すことができます。したがって、super キーワードと this キーワードは静的メソッドには存在できません (存在すると不正と同じではないでしょうか? インスタンス変数は特定のオブジェクトに関連付けられます)。

関連する推奨事項:

PHP での static キーワードの使用の詳細な説明

new self() と new static() の違いは何ですか

static と self の違いの詳細な説明PHP で

以上が静的キーワードの包括的な理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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