ホームページ  >  記事  >  Java  >  Java のキーワード static の概要

Java のキーワード static の概要

巴扎黑
巴扎黑オリジナル
2016-12-05 10:50:381123ブラウズ

静的 静的; クラスの属性、メソッド、コード ブロックを変更するために使用できます

クラスを作成するとき、そのクラスのオブジェクトの外観と動作を記述します。そのクラスのオブジェクトを作成するのが new でない限り、実際にはオブジェクトを取得することはできません。 new を実行してオブジェクトを作成する場合にのみ、データ ストレージ領域が割り当てられ、そのメソッドを呼び出すことができます。
新しいオブジェクト メソッドでは解決できない状況が 2 つあります。
1. 特定のドメインに別のストレージスペースを割り当てたいだけの場合は、作成するオブジェクトの数を考慮する必要はなく、オブジェクトを作成する必要さえありません。
2. 特定のメソッドが、このメソッドを持つクラスのオブジェクトに関連付けられていないことが望まれます。
つまり、このメソッドを呼び出すためにオブジェクトを作成する必要はありません。現時点では、static キーワードを使用して解決できます。

オブジェクトを静的であると宣言すると、このフィールドまたはこのメソッドがそのクラスのどのオブジェクトにも関連付けられないことを意味します。したがって、このクラスのオブジェクトを作成しなくても、静的メソッドを呼び出したり、静的フィールドにアクセスしたりできます。

静的属性 [クラス属性]: このクラスのすべてのオブジェクトによって共有される属性で、メモリ空間の一部のみを占有します
例:

Java コード

 public class one{  
     static i=10;  
}

さて、2 つを再作成している場合でも、 1 つのオブジェクト、1 つの .i にも 1 つのストレージ スペースしかなく、これら 2 つのオブジェクトは同時にこの i を共有します

Java コード

one a1=new one();  
    one a2=new one();

ここで、a1 と a2 は両方とも同じストレージ スペースを指しているため、それらの値は

static メソッド [クラス メソッド]: クラス メソッドは、オブジェクトを表すために this と super を使用できなくなりました。クラス メソッドが親クラスを呼び出すか、サブクラスによってオーバーライドされるかは、クラス名にのみ関係します。例:


Java コード

public class two{  
     static void jia(){  
      one.i++;  
}

さて、この 2 jia() メソッドは、++ 演算子を介して静的データ i をインクリメントします。

典型的な新しいオブジェクトで呼び出すことができます:



Java コード

two t=new two();  
  t.jia();

このメソッドは静的であるため、次のように直接呼び出すことができます:


Java コード

two.one();

静的メソッドの重要な使用法は次のとおりです。任意のオブジェクトを作成して呼び出すことができます。

静的コード ブロック: 静的コード ブロックとも呼ばれ、クラス メンバーから独立したクラス内の静的ステートメント ブロックです。JVM ではどこにでも配置できます。クラスをロードするときにこれらの静的ステートメントを実行します。複数の静的コード ブロックがある場合、JVM はクラスに記述された順序でそれらを実行し、各コード ブロックは 1 回だけ実行されます。
例:


Javaコード

  public class dome{  
  static {  
        System.out.print("A");  
    }  
static {  
        System.out.print("B");  
    }  
static {  
        System.out.print("C");  
    }  
  public static void main(String[] args) {  
    System.out.print("E");  
  
    }  
  
}

実行結果

ABCE

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