【JavaEE进阶系列 | 从小白到工程师】类变量(static静态变量)和实例变量(非静态变量)的区别

2年前 (2022) 程序员胖胖胖虎阿
194 0 0

文章目录

  • 前言
  • 一、两种变量的来源
  • 二、类变量(static静态变量)
    • 🔶类变量(static静态变量)的定义格式
    • 🔶类变量(static静态变量)的特点
  • 三、实例变量(非静态变量,无static修饰)
    • 🔶 实例变量(非静态变量,无static修饰)的定义格式
  • 四、区别
  • 作者:KJ.JK

前言

                 本文介绍类变量(static静态变量)和实例变量(非静态变量)的区别

🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
 
🍂个人博客首页: KJ.JK
 
欢迎大家点赞👍收藏💖评论💬关注🔒
 
💖源码获取 | 💻学习交流 | 🤝商务合作 | 💨私信作者


一、两种变量的来源

       成员变量其实包括类变量(static静态变量)和实例变量(非静态变量)

二、类变量(static静态变量)


🔶类变量(static静态变量)的定义格式

              static关键字修饰
              
         如:  static int a;    
         
/*

注意:static表示不要实例化就可以使用  

*/


🔶类变量(static静态变量)的特点

                 1.随着类的加载而加载
                 
                 2.优先于对象存在(这样就会导致了静态方法只能访问静态变量,不能访问不是static修饰的)
                 
                 3.被所有对象所共享  (其中一个对象将它值改变,其他对象得到的也是改变后的结果)(在项目中应用比较多,同步修改)

                 4.可以直接被类名调用
 

三、实例变量(非静态变量,无static修饰)

🔶 实例变量(非静态变量,无static修饰)的定义格式

static关键字修饰
              
           如: int a;     

🔥系列热门专栏🔥:
 
⚡《JavaEE进阶序列 | 从小白到工程师》系列文章⚡
 
⚡《JavaEE项目实战》系列文章⚡
 
⚡《JavaSwing项目合集》系列文章⚡
 
⚡《数据分析中的pandas》系列文章⚡


四、区别

区别:
      1.定义不同
      
          类变量(静态变量)定义时候前面要加上static
          
          实例变量(非静态变量)不需要加
          
      2.初始化不同
      
          类变量(静态变量)随着类的加载而初始化
          
          实例变量(非静态变量) 是new对象后才进行初始化

      3.内存位置不同
      
          类变量(静态变量)随着类的加载而存在于“方法区”中
          
          实例变量(非静态变量)存储在“堆内存区”
          
      4.调用方式不同
      
          类变量(静态变量)通过类名调用
          
          实例变量(非静态变量)通过对象调用
          
      5.生命周期不同
      
         类变量(静态变量)随着类的加载而加载,虚拟机停止运行类时,静态变量周期结束(类变量生命周期最长,随着类的消失而消失)
         
         实例变量(非静态变量)随着对象的产生而产生,随着对象的消失而失去引用,等待垃圾回收(随着对象的消失而消失)
        

作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

相关文章

暂无评论

暂无评论...