static :无论是否创建对象与否,或者创建多个对象,都有一份存储空间;可以不用new 对象就可以进行使用static修饰的变量或者方法。
EG:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Static Test");
StaticTest staticTest1 = new StaticTest();
System.out.println("test1 i: " + ++staticTest1.i);
//System.out.println("test1 i: " + ++StaticTest.i);
StaticTest staticTest2 = new StaticTest();
System.out.println("test2 i: "+staticTest2.i);
//System.out.println("test2 i: " + StaticTest.i);
}
}
class StaticTest{
static int i = 10;
}
结果:
Static Test
test1 i: 11
test2 i: 11
从上面的例子,看到:new了两个对象,但是i的值的打印结果说明了,时同一份i,即static修饰变量只有一个存储空间,无论你创建了多少个对象;注释的那两行可以替换new和system.out.那两行,即可以不用new对象而直接引用static变量。