实例解析-关于Java中修饰符static

来源:互联网 发布:淘宝卖家销量怎么算的 编辑:程序博客网 时间:2024/06/16 01:57

 

package belief.teach1;

class AboutStatic {

 
 
static int a1=0;
 
int a2=0;
 
 
public AboutStatic(){
  a1
++;
  a2
++;
 }

 
 
public static void main(String[] args) {
   
  AboutStatic A1
=new AboutStatic();
  AboutStatic A2
=new AboutStatic();
  AboutStatic A3
=new AboutStatic();
  
  System.out.println(
"a1的值分别是A1.a1="+A1.a1+"  A2.a1="+A2.a1+"  A3.a1="+A3.a1+" ");
  System.out.println(
"a2的值分别是A1.a2="+A1.a2+"  A2.a2="+A2.a2+"  A3.a2="+A3.a2+"  ");
 
  
/**
   * 打印结果如下:
   * a1的值分别是A1.a1=3  A2.a1=3  A3.a1=3 
         * a2的值分别是A1.a2=1  A2.a2=1  A3.a2=1  
   * 
   
*/


 }


}


用static修饰的a1,它属于类,类的所有的对象都共享一份拷贝,所以创建了三次,a1值为3.

未用static修饰的a2,每个对象都有自己的一份拷贝,属于各个对象,所以创建三次,打印都为1.

原创粉丝点击