Java static关键字
1.static变量
static修饰的变量也被称为静态变量,类似于全局变量。该变量对每个类来说都只有一份存储空间,是所有对象共享的。static变量会在其所在的类被初次加载的时候被初始化,只会初始化这一次。
若是有多个static变量存在,会根据其定义的顺序进行初始化。
引用static变量有两种方法。可以通过实例化后的对象去调用它,也可以通过类名直接调用。如下所示:
public class StaticTest {
static int x = 4;
public static void main(String[] args) {
System.out.println(StaticTest.x);
StaticTest st = new StaticTest();
System.out.println(st.x);
}
}
2.static方法
static修饰的方法也被称为静态方法,类似于全局方法。其static方法就是没有this的方法。在static方法的内部不能调用非静态方法,但是非静态方法内部可以调用static方法。
同static变量一样,static方法也有两种方法调用。可以通过实例化后的对象去调用,也可以通过类名直接调用。
public class StaticTest {
public static void staticMethod() {
System.out.println("this is a static method!");
}
public static void main(String[] args) {
StaticTest.staticMethod();
StaticTest st = new StaticTest();
st.staticMethod();
}
}