static关键字的作用

1. 静态成员变量的语法特点

2. 静态函数的语法特点

3. 静态代码块的语法特点

 

1. 静态成员变量的语法特点

       <1>静态成员变量可直接通过类名调用

       <2>  VS   

               静态成员变量值共用一个

              Person.java

              public class Person{
          static int i;
     }

              Test.java

              public class Test{
                     public static void main(String args []){
              Person p1 = new Person();
              Person p2 = new Person();
              Person.i = 10 ;
              System.out.println("p1的i的值是"+ p1.i );
              System.out.println("p2的i的值是"+ p2.i );

                     System.out.println("Person类的静态成员函数值是"+ Person.i ); //<1>静态成员变量可直接通过类名调用, 也可以用对象名调用
          }    
     }

             

 

2. 静态函数的语法特点

        <1>静态函数可直接通过类名调用         

        <2>静态函数中不能引用非静态成员变量

              静态函数中不能使用 this  

              Person.java

              public class Person{
          static int i;
          static void talk(){
              System.out.println("my age is" + i );
          }
     }
              Test.java

              public class Test{
          public static void main(String args []){
              Person.talk();
          }    
      }

             

              Tips:  在int i 之前加上 static 即可

3. 静态代码块的语法特点

           主要是为了静态成员变量赋初值

           Person.java

           class Person{  
        static{
            System.out.println("我是静态代码块");
        }
    
         static int i ;
         static void talk(){
              System.out.println("my age is " + i);
        }
    }

           Test.java   //跟上面不变

          

           static 静态块在类加载到虚拟机中就执行了,    在Test的main函数之前执行

             

posted @ 2014-05-18 21:39  Mirrorhanman  阅读(1880)  评论(0编辑  收藏  举报