static关键字声明的字段或方法不会与包含它的类的实例对象存在任何关系。
因此有static关键字的字段或方法,可以在不创建类对象的前提下去调用,例:StaticTest.i,Static.methodTest。
class StaticTest{
static int i=1;
static int methodTest();
}
static字段对于每个类而言都只有一份存储空间(即static字段被包含它的类的任何实例对象所共享),例:
//创建两个对象:
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
System.out.println("st1.i="+st1.i); //st1.i=1
System.out.println("st2.i="+st2.i); //st2.i=1
st1.i++;
System.out.println("st1.i="+st1.i); //st1.i=2
System.out.println("st2.i="+st2.i); //st2.i=2