当声明一个事物是static时,即使从未创建其所在类的的任何对象,也可以直接调用其static方法或访问其static域。
//静态变量
class StaticTest{
static int i=15;
}
StaticTest st1=new StaticTest();
StaticTest st2=new StaticTest();
StaticTest.i++;
//静态方法
class Incrementable{
static void increment(){
StaticTest.i++;
}
}
此时,st1.i和st2.i指向同一个存储空间,具有相同的值,15。
而引用static变量有两种方法:
- 通过一个对象去定位:st1.i;
- 通过类名直接引用:StaticTest.i。