一、静态变量

1.静态变量随着类的加载而加载。加载位置是方法区。
2.静态变量早于对象出现,所以一般使用类直接调用。
3.静态变量被所有对象共享。
4.静态变量只能定义在类内,方法外

二、静态方法

1.静态方法随着类的加载而加载。加载位置是方法区。
2.静态方法早于对象出现。
3.静态方法不可以调用非静态方法。可以理解为这是由于静态方法的加载早于非静态方法。
4.静态方法可以被继承,但是不可以被重写。
5.静态方法可以被重载。
6.静态方法中不能使用this和super关键字,因为this代表本类对象,super代表父类对象,而静态时,有可能没有对象存在,所以this和super无法使用。
7.abstract 不能和static共存在一个方法声明中。因为static是随着类的加载而加载的,不需要子类去实现。

三、静态执行顺序(借用其他博主的图)

对java静态方法和静态变量的总结

相关文章: