当默认的情况下,创建一个类的对象,该对象就拥有一份属于自己的类中全部数据成员的副本。
当一个对象中数据元素改变时,不会影响其他对象该数据元素的值。这类变量就是实例变量。
但是对于静态变量则不同,它是属于整个类,不属于任何一个对象,,而且静态变量永远只有一份备份空间。
静态变量可以直接通过类名进行访问(与对象的创建与否无关),当然通过对象进行访问也是可以的,但不提倡这样的做法。
运行结果如下:
A.x = 10
B.x = 22
b1.x = 22
b2.x = 22
b1.y = 31
b2.y = 30
import java.util.Scanner;
import java.util.ArrayList;
public class HelloJava {
public static void main(String[] args){
System.out.println("A.x = "+A.x);
B b1 = new B();
B b2 = new B();
B.x ++;
b1.x ++;
b1.y ++;
System.out.println("B.x = "+B.x);
System.out.println("b1.x = "+b1.x);
System.out.println("b2.x = "+b2.x);
System.out.println("b1.y = "+b1.y);
System.out.println("b2.y = "+b2.y);
}
}
class A{
static int x = 10;
}
class B{
static int x = 20;
int y = 30;
}