java--------修饰符static---------深入理解

时间:2022-02-22 21:05:14
public class ConstructDemo {
/*因为这个变量是要被所有的成员共用,故必须定义为静态的(以后碰见公用的也要定义成static),
这样每个对象创建的时候改变的是公用的count
如果定义成不是静态的,那么在创建对象时,这个count变量在每个对象里都存在一份,即使执行构造代码块,改变的

数据也是单独那个对象里的count,而不是公用的count*/

private  int count1 = 0;
private static int count = 0;

{
count1++;
count++;
}

//public ConstructDemo(){}

public static void main(String[] args){
ConstructDemo ctd1 = new ConstructDemo();
ConstructDemo ctd2 = new ConstructDemo();
ConstructDemo ctd3 = new ConstructDemo();
ConstructDemo ctd4 = new ConstructDemo();
ConstructDemo ctd5 = new ConstructDemo();
ConstructDemo ctd6 = new ConstructDemo();
ConstructDemo ctd7 = new ConstructDemo();
ConstructDemo ctd8 = new ConstructDemo();

System.out.println(count); //8
System.out.println(ctd8.count1);//1

}


}