工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Javaの静的変数:静的ブロック&メソッドとは【例】

静的には次のことができます:

<オール>
  • 静的変数
  • 静的メソッド
  • コードの静的ブロック。
  • 最初に静的変数と静的メソッドを見てみましょう。

    Java の静的変数とは?

    Java の静的変数 クラスに属し、実行の開始時に一度だけ初期化される変数です。オブジェクト(インスタンス)ではなく、クラスに属する変数です。静的変数は、実行の開始時に一度だけ初期化されます。これらの変数は、インスタンス変数の初期化の前に最初に初期化されます。

    構文:

    <class-name>.<variable-name>

    Java の静的メソッドとは

    Java の静的メソッド オブジェクトではなくクラスに属するメソッドです。静的メソッドは、静的データのみにアクセスできます。オブジェクト(インスタンス)ではなく、クラスに属するメソッドです。静的メソッドは、静的データのみにアクセスできます。非静的データ (インスタンス変数) にはアクセスできません。

    構文:

    <class-name>.<method-name>

    注: インスタンス化が行われる前に、アプリケーションを実行するためにアクセスできる必要があるため、main メソッドは静的です。


    演習を行って静的​​キーワードのニュアンスを学びましょう!

    例:静的変数とメソッドを呼び出す方法

    ステップ 1) 次のコードをエディターにコピーします

    public class Demo{
       public static void main(String args[]){
         Student s1 = new Student();
         s1.showData();
         Student s2 = new Student();
         s2.showData();
         //Student.b++;
         //s1.showData();
      }
    }
    
    class Student {
    int a; //initialized to zero
    static int b; //initialized to zero only when class is loaded not for each object created.
    
      Student(){
       //Constructor incrementing static variable b
       b++;
      }
    
       public void showData(){
          System.out.println("Value of a = "+a);
          System.out.println("Value of b = "+b);
       }
    //public static void increment(){
    //a++;
    //}
    
    }

    ステップ 2) コードを保存してコンパイルします。コードを Java Demo として実行します .

    ステップ 3) 以下に期待される出力を示します

    次の図は、参照変数とオブジェクトがどのように作成され、静的変数がさまざまなインスタンスからアクセスされるかを示しています。

    ステップ 4) 構文 ClassName.Variable_Name を使用して、クラスの外部から静的変数にアクセスすることが可能です .行番号 7 &8 のコメントを外します。保存、コンパイル、実行。出力を観察してください。

    Value of a = 0
    Value of b = 1
    Value of a = 0
    Value of b = 2
    Value of a = 0
    Value of b = 3
    

    ステップ 5) 行 25,26 &27 のコメントを外します。保存、コンパイル、実行。

    	 error: non-static variable a cannot be referenced from a static context a++; 
    

    ステップ 6) エラー =?これは、インスタンス変数「a」にアクセスできないためです。 」 Java 静的クラス メソッド「インクリメント」から 「.

    Java の静的ブロックとは?

    静的ブロック クラスが最初に JVM にロードされるときに実行される Java クラス内のステートメントのブロックです。 静的ブロックは静的データ メンバーの初期化に役立ちます 、ちょうどコンストラクターがインスタンス メンバーの初期化に役立つように。

    class Test{
     static {
     //Code goes here
     }
    }
    

    次のプログラムは、Java 静的ブロックの例です。

    例:静的ブロックにアクセスする方法

    public class Demo {
     static int a;
     static int b;
     static {
        a = 10;
        b = 20;
     }
     public static void main(String args[]) {
    
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b);
    
     	}
    }

    プログラムの次の出力が得られます。

    Value of a = 10
    Value of b = 20
    

    Java

    1. Java 最終キーワード
    2. オペレーターの Java インスタンス
    3. Java ネストされた静的クラス
    4. Java匿名クラス
    5. Java シングルトン クラス
    6. Java リフレクション
    7. Java 例外処理
    8. Java ObjectOutputStream クラス
    9. Javaジェネリック
    10. Java ファイル クラス
    11. Java のインターフェイスと抽象クラス:違いは何ですか?