ホームページ Java &#&チュートリアル Java の改善 (6) -----キーワード static

Java の改善 (6) -----キーワード static

Feb 09, 2017 pm 01:40 PM

1. static は何を表しますか

Java にはグローバル変数の概念はありませんが、Java では static は「グローバル」または「静的」を意味し、変更するために使用されます。メンバー変数とメンバー メソッド、そしてもちろんコード ブロック。

Java はメモリをスタック メモリとヒープ メモリに分割し、スタック メモリはいくつかの基本的なタイプの変数、配列、オブジェクト参照を格納するために使用され、ヒープ メモリは主に一部のオブジェクトを格納します。 JVM がクラスをロードするとき、クラスに静的に変更されたメンバー変数とメンバー メソッドがある場合、これらの「固定」機能を使用して、固定サイズのメモリ領域がこれらのメンバー変数とメンバー メソッド用に固定された場所に開かれます。非常に便利にアクセスできます。同時に、静的メンバー変数とメンバー メソッドがスコープ外にならない場合、それらのハンドルは変更されません。同時に、static に含まれる「静的」という概念は、修復不可能、つまり、その場所を変更すると、クリーンアップしても元の状態に戻らないことを意味します。戻ってくる。

static によって変更されたメンバー変数とメンバー メソッドは、特定のインスタンス変数に依存しません。つまり、クラスのすべてのインスタンスで共有されます。すべてのインスタンスの参照は同じ場所を指しており、いずれかのインスタンスを変更すると、他のインスタンスも変更されます。

public class User {  
    private static int userNumber  = 0 ;  
      
    public User(){  
        userNumber ++;  
    }  
      
    public static void main(String[] args) {  
        User user1 = new User();  
        User user2 = new User();  
          
        System.out.println("user1 userNumber:" + User.userNumber);  
        System.out.println("user2 userNumber:" + User.userNumber);  
    }  
}      
------------  
Output:  
user1 userNumber:2  
user2 userNumber:2
ログイン後にコピー

2. static の使い方

static は、クラス名を通じて直接アクセスできるメンバー変数およびメンバーメソッドを変更するために使用できます。 ClassName..PropertyName

ClassName.MethodName (...)

静的変更コード ブロックは、JVM がロードされると、このコードが実行されることを示します。これは非常に便利です。 (ここ数日のコードブロックの使用については注意してください)

2.1. 静的変数

static で変更された変数は static 変数と呼ばれ、static で変更されなかった変数はインスタンス変数と呼ばれます。違いは次のとおりです:

静的変数は、クラスがロードされるときに初期化され、メモリ内に 1 つだけあり、JVM は一度だけメモリを割り当てます。同時に、クラスのすべてのインスタンスが共有します。静的変数。クラス名を直接渡すとアクセスできます。

しかし、インスタンス変数は異なります。インスタンスが作成されるたびにインスタンス変数が生成され、インスタンスとともに存続し、消滅します。

したがって、私たちは通常、オブジェクト間でのデータ共有と簡単なアクセスという 2 つの状況で静的変数を使用します。

2.2. 静的メソッド

静的に変更されたメソッドは静的メソッドと呼ばれ、クラス名を通じて直接呼び出します。クラスがロードされたときに存在するため、インスタンスに依存せず、静的メソッドを実装する必要があります。つまり、抽象メソッドにすることはできません。

静的メソッドはクラス内の特別なメソッドです。本当に必要な場合にのみメソッドを静的として宣言します。たとえば、Math クラスのすべてのメソッドは静的です。

2.3. 静的コードブロック

静的コードブロックはクラスがロードされると実行され、どこにでも配置できます。


3. 静的の制限

Static には多くの機能がありますが、いくつかの欠点もあります。

1. 静的変数のみを呼び出すことができます。

2. 静的メソッドのみを呼び出すことができます。

3. this と super はいかなる形式でも引用できません。

4. 静的変数は定義時に初期化する必要があり、初期化時間は非静的変数よりも早くなければなりません。

要約: 変数、メソッド、またはコード ブロックのいずれであっても、静的に変更されている限り、クラスがロードされた時点で「準備完了」になります。つまり、使用できるか実行されています。オブジェクトがなくても実行できます。逆に、static がない場合は、オブジェクト インスタンスに依存する必要があります。

上記は Java 改善章 (6) の内容です ----- キーワード static の詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C言語におけるstaticの機能と使い方は何ですか? C言語におけるstaticの機能と使い方は何ですか? Jan 31, 2024 pm 01:59 PM

C 言語における static の役割と使用法: 1. 変数スコープ; 2. ライフサイクル; 3. 内部関数; 4. グローバル変数の変更; 5. 関数の変更; 6. その他の用途; 詳細な紹介: 1. 変数スコープの場合変数の前に static キーワードがある場合、変数のスコープは、変数が宣言されているファイルに制限されます。言い換えると、変数は「ファイル レベルのスコープ」であり、「」の発生を防ぐのに非常に役立ちます。変数の重複定義問題; 2. ライフサイクル、静的変数はプログラム実行開始時に一度初期化され、プログラム終了時に破棄されるなど。

Java で static、this、super、final を使用する方法 Java で static、this、super、final を使用する方法 Apr 18, 2023 pm 03:40 PM

1. static まず次のプログラムを見てください: publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}}セグメント プログラムは、Java を学習したことのあるほとんどの人には馴染みのあるものです。 Java を学習したことがなくても、C などの他の高級言語を学習したことがある場合でも、このコードの意味は理解できるはずです。これは単に「Hello, world」を出力するだけであり、他に用途はありませんが、静的キーワードの主な目的を示しています。

C言語のstaticキーワードの実践的な応用シナリオと使用スキル C言語のstaticキーワードの実践的な応用シナリオと使用スキル Feb 21, 2024 pm 07:21 PM

C 言語の static キーワードの実践的な応用シナリオと使用スキル 1. 概要 static は C 言語のキーワードであり、変数や関数を変更するために使用されます。その機能は、プログラムの実行中にライフサイクルと可視性を変更し、変数と関数を静的にすることです。この記事では、static キーワードの実際のアプリケーション シナリオと使用テクニックを紹介し、具体的なコード例を通じて説明します。 2. 静的変数により変数のライフ サイクルが延長される static キーワードを使用してローカル変数を変更すると、変数のライフ サイクルを延長できます。

Java 修飾子のabstract、static、finalの使用方法 Java 修飾子のabstract、static、finalの使用方法 Apr 26, 2023 am 09:46 AM

修飾子abstract (abstract) 1. 抽象はクラスを変更できる (1) 抽象によって変更されたクラスを抽象クラスと呼びます (2) 構文: abstractclass クラス名 {} (3) 特徴: 抽象クラスは個別にオブジェクトを作成できませんが、オブジェクトを作成することはできます。宣言される 抽象クラス名の参照名を参照する (4) 抽象クラスはメンバ変数とメンバ メソッドを定義できる (5) 抽象クラスにはコンストラクタがある サブクラス オブジェクトの作成に使用される場合、jvm はデフォルトで親クラス オブジェクトを作成する;抽象コンストラクタ メソッドが適用されるjvm が親クラス オブジェクトを作成するときに適用されます。 2. Abstract はメソッドを変更できる (1) asbtract によって変更されたメソッドを抽象メソッドと呼びます (2) 構文: アクセス修飾子の抽象戻り値

静電気の役割 静電気の役割 Jan 24, 2024 pm 04:08 PM

static の機能: 1. 変数; 2. メソッド; 3. クラス; 4. その他の用途; 5. マルチスレッド環境; 6. パフォーマンスの最適化; 7. シングルトン モード; 8. 定数; 9. ローカル変数; 10.メモリ レイアウトの最適化; 11. 繰り返しの初期化を避ける; 12. 関数で使用する。詳細な紹介: 1. 変数、静的変数 変数が静的として宣言されると、その変数はインスタンス レベルではなくクラス レベルに属します。つまり、オブジェクトがいくつ作成されても、静的変数は 1 つだけ存在し、すべてのオブジェクトが存在します。この静的変数などを共有します。

Springboot がカスタム pro ファイルを読み取り、静的変数を挿入する方法 Springboot がカスタム pro ファイルを読み取り、静的変数を挿入する方法 May 30, 2023 am 09:07 AM

Springboot は pro ファイルを読み取り、静的静的変数 mailConfig.properties#サーバー mail.host=smtp.qq.com#ポート番号 mail.port=587#電子メール アカウント mail.userName=hzy_daybreak_lc@foxmail.com#電子メール認証コード mail を挿入します。 passWord =vxbkycyjkceocbdc#遅延時間 mail.timeout=25000#送信者 mail.emailForm=hzy_daybreak_lc@foxmail.com#送信者 mai

PHPの静的メソッドとは何ですか PHPの静的メソッドとは何ですか Oct 31, 2022 am 09:40 AM

php static static メソッドの「static」は、クラスをインスタンス化せずにこれらのプロパティとメソッドを直接呼び出すことができることを意味します。static は、クラスのプロパティとメソッドを変更するために使用されるキーワードであり、その使用構文は「class Foo { public static $my_static = 'hello';}"。

PHP の特別な構文: Static、Final、Abstract、その他のキーワード PHP の特別な構文: Static、Final、Abstract、その他のキーワード May 11, 2023 pm 04:00 PM

PHP は、Web 開発で広く使用されている人気のオープンソースのサーバー側スクリプト言語です。 PHP 言語は、学習と使用が簡単であるだけでなく、さまざまなプログラミング パラダイム、オブジェクト指向プログラミング、関数型プログラミングなどもサポートしています。 PHP には、Static、Final、Abstract などの特別な構文キーワードがいくつかあります。これらのキーワードは、オブジェクト指向プログラミングで特別な機能を持ちます。この記事では、これらのキーワードについて詳しく紹介していきます。静的キーワード PHP では、静的キーワードには 2 つの用途があります。

See all articles