1.修饰成员变量
1)定义:数据需要被共享给所有对象使用使用static修饰(全局变量)
2)注意:
1.用static中创建的成员变量在内存中只有一份
2.千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候才使用static修饰
3.当加载类时即已加载,非static变量实例对象时加载,而普通成员变量只有在对象被创建的时候猜存在
4.静态成员变量从类被加载开始到类被卸载,一直存在;普通成员变量只要在类被实例化也就是创建对象是才开始存在,一直到对象结束,生命也告终
3)访问方式:
1.可以使用对象进行访问。
对象.变量名。
2.可以使用类名进行访问。
类名.变量名;
4) 语法:public static String name;
案例1:
需求:描述一下学生类。都是中国人....
目前存在的问题: 所有的学生都是中国 的,有n个学生就会有n份中国的 数据存内存中,这样子会浪费内存。
目前方案: 把“中国”这个数据移动 到数据共享区中,共享这个数据给所有的Student对象使用即可。
静态的成员变量只会在数据共享区中维护一份,而非静态成员变量的数据会在每个对象中都维护一份的。。
2.static修饰成员函数
注意:
凡是用static修饰的成员函数调用时不需要实例化类
static不能修饰类