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