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的值不同,静态方法,可以用类名.方法名,好处是不用实例化对象,节省内存。
新闻热点
疑难解答