JAVA中的static关键字

来源:互联网 发布:海岛奇兵兵种升级数据 编辑:程序博客网 时间:2024/06/10 10:20

    我们在编程时经常会遇到这样的需求:描述一类学生。在描述的过程中可能会碰到以下的两个问题:

    问题1:所有的学生都是中国的,有n个学生就会有n份中国的 数据存内存中,这样会浪费内存,怎么办呢?

答:把“中国”这个数据移动到数据共享区中,共享这个数据给所有的Student对象使用即可。

    问题2: 如何才能把这个数据移动到数据共享区中共享呢?

答:只需要使用static修饰该数据即可。

    静态的成员变量只会在数据共享区中维护一份,而非静态成员变量的数据会在每个对象中都维护一份的。。

    那么,都在什么时候和什么情况下用 static呢?

static用来修饰成员变量 :

  如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。

     静态成员变量的访问方式:

  方式1:可以使用对象进行访问。

  格式:对象.变量名。

  方式二:可以使用类名进行访问。

  格式:类名.变量名;

     注意:

  1.非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。

  2.千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候才使用static修饰。否则会引起内存安全问题。

 

   static修饰成员变量的应用场景:如果一个数据需要被所有对象共享使用的时候,这时候即可使用static修饰。


2 0