静态修饰符

静态修饰符(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修饰(定义工具类)

原文地址:https://www.cnblogs.com/mumuda/p/6079816.html