静态修饰符
静态修饰符(static)
Static 静态修饰符 1.修饰成员变量 2.修饰方法
1.用来修饰成员变量:一个成员变量被static修饰叫静态成员变量,如果没有被修饰叫非静成员变量。
访问方式:(1)用对象进行访问: 对象名.变量名
(2)可以通过类名来访问: 类名.变量名
需要注意的点:
(1)不要认为所有的变量都用static修饰,只有数据真正需要共享时才需要static修饰
(2)只有静态变量才能用类名访问,非静态变量只能用对象访问
(3)局部变量不允许被static修饰
2.用来修饰方法:
访问方式: (1)可以通过对象访问 对象.方法名();
(2)可以通过类名访问 类.方法名(); //推荐使用
需要注意的点:
(1)静态方法可以用对象和类名调用。非静态方法只能用对象来调用。
(2)静态方法是可以访问静态成员变量,不能访问非静态的成员变量。非静态的方法中可以访问任何成员变量(原因:有可能静态当被调用了,但是对象还没有创建出来)。
(3)静态方法可以直接访问静态方法,但是不能访问非静态方法(原因:有可能静态当被调用了,但是对象还没创建出来,非静态方法中由对象调用。如果对象被创建出来,静态方法早就存在了。)
(4)静态方法中是不允许出现this关键字和super关键字
This:表示一个方法的调用者对象(可能对象没有被创建出来)
特点: 静态的数据早于非静态的数据存在内存中
什么情况下使用static来修饰方法: 当一个方法不需要直接访问非静态数据,这个时候就可以用static修饰(定义工具类)