public class demo1 {
/**
* @param args
*/
public static void main(String[] args) {
demo2 aDemo1=new demo2();
demo2 aDemo2=new demo2();
aDemo1.b++;
System.out.print(aDemo1.b++);
System.out.print(aDemo2.b);
}
}
public class demo2 {
static int b=12;
}
当demo2有static的时候输出1314,当demo2没有static的是会输出1312
有static的时候,因为它们引用的是同样的内存区域。所以即使声明了两个不同的对象,对象.b++,对象可以看做是一个对象,所以最好用类名.b,这样可以不用实例化对象,节省内存,demo2.b,没有static,就相当于生成了两个对象,两个对象分别有不同的b,所以b的值不同,静态方法,可以用类名.方法名,好处是不用实例化对象,节省内存。