--- StaticキーワードのためのJavaの研究ノートオブジェクト(3)

コンテンツ

静的:静的

使い方

静的は、(メンバ変数、メンバ関数)、メンバーが被呼者に加えて、静的変形であるが、クラス名を直接呼び出すことができる部材を変更するための改質剤です。

例えば

class Person {
    String name;  //成员变量,实例变量
    static String country = "CN"; //静态的成员变量,类变量
}
public class StaticDemo {
    public static void main(String[] args) {
        Person p = new Person();
        System.out.println(p.country);     //使用对象调用
        System.out.println(Person.country);//直接使用类名调用
    }
}

結果:

CN
CN

機能

  1. それは最長のライフサイクルですので静電気は、静的変数に依存している(クラスの消失消えると)負荷と負荷を持つクラスのメンバー、によって変更キーワードオブジェクトを作成する必要はありませんメモリ内に存在します

  2. オブジェクト優先が存在する
    (静的が存在することで、オブジェクトは、の存在です)

  3. これは、すべてのオブジェクトによって共有されています

  4. これは、直接クラス名で呼び出すことができます

インスタンス変数とクラス変数の違い

保管場所

クラスローディングゾーン法に存在するようにクラス変数。
オブジェクトインスタンスの確立の変数は、ヒープメモリに存在します。

ライフサイクル

クラスの消失とクラス変数最長のライフサイクルは、消えます。
インスタンス変数のライフサイクルの確立は、オブジェクトに依存して消えます。

静的な注意事項

  1. データについては、我々は必要と区別するために、特定のデータおよび共有データ。
    オブジェクト固有のデータ・ストレージと、それは静的な変更を使用していません。静的変数の長いライフサイクルのために、あなたはあまりにも多くの静的変数を定義した場合、過度のメモリにつながる可能性が消費されます。
  2. 静的メソッドできる唯一のアクセス静的メンバー。
    両方静的にアクセスすることができます非静的メソッドは、非静的にアクセスすることができます。
  3. 静的メソッドではないことができ、この、superキーワードを定義します。オブジェクトの上に静的優先順位が存在するため。

静的な長所と短所

リー:

  1. 共有データは、スペースを節約し、空間的に分離ストレージオブジェクト。
  2. あなたは直接呼び出し、簡単に通話にクラス名を使用することができます。

短所:

  1. ライフサイクルは長すぎます。
  2. グレーターのアクセス制限。

おすすめ

転載: www.cnblogs.com/liyuxin2/p/12297521.html