一般通过new创建类对象,才会分配存储空间,方法才被外界调用
public class hello {
public static void main(String[] args){
people p1 = new people();
p1.i ++;
System.out.println(p1.i);
people p2 = new people();
System.out.println(p2.i);
System.out.println(p1.i == p2.i);
}
public static class people {
int i = 10;
}
}
这里分别输出11,10,false
也就是说这里p1.i和p2.i指向了不同的存储空间,所以++只对p1.i生效,从最后两个对象判断是否相等为false也可以看出来
但是假如在定义之前加上static关键字,就可以将字段或者方法设置为static,就算创建了两个类对象p1,p2,会共享一个i,字段p1.i和p2.i也会共用一份存储空间
public class hello {
public static void main(String[] args){
people p1 = new people();
p1.i ++;
System.out.println(p1.i);
people p2 = new people();
System.out.println(p2.i);
System.out.println(p1.i == p2.i);
}
public static class people {
static int i = 10;
}
}
这里输出为11,11,true
