Javaのstatic修飾語

1388 ワード

  • 概念クラスでは、staticで宣言されたメンバー変数は静的メンバー変数であり、クラス変数とも呼ばれる.クラス変数のライフサイクルはクラスと同じで、アプリケーションの実行中に有効です.
  • という特徴があります
  • はクラスの共通変数であり、クラスに属し、クラスのすべてのインスタンスによって共有され、クラスがロードされたときに明示的に初期化される.
  • クラスのすべてのオブジェクトについてstaticメンバー変数は1つしかありません.このクラスのすべてのオブジェクトに共有されます!!
  • は一般に「クラス名.クラス属性/メソッド」で呼び出される.(オブジェクト参照またはクラス名(インスタンス化を必要としない)で静的メンバーにアクセスすることもできます.)
  • staticメソッドでは、static以外のメンバーに直接アクセスできません.

  • 1.static修飾のメンバー変数とメソッド、従属クラス.
    2.一般変数とメソッドは、オブジェクトに属します.
    public class User2 {
        int id;   // ID
        String name;  //   
        String grade;  //   
        
        # static        
        static String slogan = "study hard and make progress every day";
        
        public User2(int id,String name) {
            this.id = id;
            this.name = name;
        }
        
        public void say() {
            System.out.println("student"+name+"say");
            System.out.println(slogan);  #           
        }
        
        #           
        public static void speakSlogan() {
            System.out.println(slogan);
        }
        
        public static void main(String []args) {
            User2 student = new User2(666,"   ");  #     student
            
            User2.speakSlogan();  #           
            
            User2.slogan = "Self-discipline is my freedom";   #        
            
            User2.speakSlogan();   #         
            
        }
    
    }