当我们创建的所有对象的某一属性都是一样的,我们就没有必要将这个属性放在每个对象中而浪费空间。
譬如:创建Person类的时候,每个类都有一对眼睛一张嘴,如果创建对象,那么每个对象空间都多了这两个属性,这本该可以更加精简一点。
引进static关键字将这些共有的成员作为类所属的,那么只需要保存一份就可以,极大节省空间。
其中对于static表示的静态属性eclipse提醒我们
所以应该这样
static修饰的成员我们称为类成员来与普通成员区分,那么两者区别是什么呢
1.生命周期不同
静态成员是随着类的创建而存在,随着类的消失而消失
普通成员则是随着对象的创建而创建,随着对象的消失而消失
2.调用对象不同
静态成员既可以被对象调用也可以被类调用。
普通成员只能被对象调用
3.在内存中的存储位置不同
静态成员存储在方法区也称为共享数据区,是对象的共有数据
普通成员存储在堆内存的对象中,是对象的特有数据
-------------------------------------------------------------
静态的使用注意事项
1.静态方法只能访问静态成员。因为静态成员是随着类创建而创建,静态成员先于非静态成员创建,所以一个已经创建的成员不可能访问一个未创建的成员。
2.静态方法不能使用this和super关键字。同理,this与super说明需要创建对象,而静态方法先于对象创建。