static的特点 : (它可以修饰成员变量,还可以修饰成员方法)
A: 随着类的加载而加载。
B:优先于类的对象而存在。
C:被类的所有对象共享
举例:班级学生应该共用一个班级编号。
故当所有对象共享一个成员变量时,我们应该把这个成员变量定义为静态变量。
如:饮水机(静态)
水杯(非静态)
D:可以通过类名调用,也可以使用对象名调用。
推荐使用类名调用
static关键字的注意事项
A:在静态方法中是没有this关键字的。
因为静态是随着类的加载而加载,this关键字是随着对象的创建而存在。
即静态比对象优先存在。
B:静态方法只能访问静态成员变量和静态成员方法
非静态方法既可以访问静态成员变量,静态成员方法,也可以访问非静态成员变量,非静态成员方法。