一、两种变量的来源
成员变量其实包括类变量(static静态变量)和实例变量(非静态变量)
二、类变量(static静态变量)
1.类变量(static静态变量)的定义格式
static关键字修饰
如: static int a;
注意:static表示不要实例化就可以使用
2.类变量(static静态变量)的特点
1.随着类的加载而加载
2.优先于对象存在
3.被所有对象所共享 (其中一个对象将它值改变,其他对象得到的也是改变后的结果)(在项目中应用比较多,同步修改)
4.可以直接被类名调用
三、实例变量(非静态变量,无static修饰)
1.实例变量(非静态变量,无static修饰)的定义格式
无 static关键字修饰
如: int a;
四、类变量(静态变量)和实例变量(非静态变量)的区别
区别:
1.定义不同
类变量(静态变量)定义时候前面要加上static
实例变量(非静态变量)不需要加
2.初始化不同
类变量(静态变量)随着类的加载而初始化
实例变量(非静态变量) 是new对象后才进行初始化
3.内存位置不同
类变量(静态变量)随着类的加载而存在于“方法区”中
实例变量(非静态变量)存储在“堆内存区”
4.调用方式不同
类变量(静态变量)通过类名调用
实例变量(非静态变量)通过对象调用
5.生命周期不同
类变量(静态变量)随着类的加载而加载,虚拟机停止运行类时,静态变量周期结束(类变量生命周期最长,随着类的消失而消失)
实例变量(非静态变量)随着对象的产生而产生,随着对象的消失而失去引用,等待垃圾回收(随着对象的消失而消失)
作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习