在说static之前我们首先了解一下它的定义:所有的类对象只能共享一个特殊变量的副本,这样的变量称为static变量。static变量体现类范围内的信息,所有类对象共享同一个static数据项。
我们在定义一个方法或者字段时要考虑使用加不加静态的关键字并不是我们觉得定义了之后使用方便而去使用的,要根据情况去分析。
因为静态的在内存中只有一份。首先你要了解他们的区别,静态的在调用的时候虽然很好用,但是它在内存中只有一份存储。在想要定义静态方法或字段的时候要考虑到只有一份会不会影响今后的使用,也就是要看看我们要定义的方法和字段是否需要继承,扩展,也就是所谓的安全性,如果对整体没有影响并且没有这个方面的限制就可以使用静态的字段。例如,我们很多对象需要共享同一个字段,而这个字段的值必须是每个对象都可以看到的值,那么我们可以认为对这些对象操作的时候是对同一个静态字段在操作,就可以把这个字段定义为静态的,这样不仅节省空间而且我们不必为每个对象单独增加字段的副本。如果要求对同一个字段经常进行操作,也可以用静态的。但是在静态方法中不能使用this关键字,这一点需要注意。静态方法和字段在整个项目中只有一份,不需要new,通过类名直接访问,而且不能继承和扩展,根据它的特点,我们在用的时候,就要看看我们要定义的方法和字段是否需要继承,扩展,也就是安全性了,如果没有这个方面的限制,那么就可以用静态的,静态的访问着还是比较方便的。
以上为自己的一点看法,大家若有不同的看法欢迎指正。
转载于:https://blog.51cto.com/zhjjzhjj/376587