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
*
*/
}
}
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.