当前位置: 首页 > news >正文

static静态变量

static静态变量特点:

  • 该变量叫做静态变量,被这个类所有对象共享
  • 不属于对象,属于类
  • 随着类的加载而加载,优先于对象而存在

底层原理解释:

当定义类的时候,方法区会开辟一块类的内存空间,此时堆就会为静态变量开辟一块内存空间。
当创建对象的时候,会为对象开辟一块区别于静态变量的独立内存空间,同时对象会记录静态变量的内存地址,而则为对象的变量名开辟一块内存空间,同时把对象的地址赋值给该变量的内存空间,当你通过对象调用类中的方法时,方法会被加载进栈,同时该方法的内存空间会记录调用对象的内存空间,当你调用这个方法的时候,方法会通过记录的调用者对象的地址去查询中对应对象的成员变量,成员变量再通过记录的静态变量地址查询静态变量的值。

就是由于静态变量有着区别于对象的独立内存空间,当某个对象对静态变量进行修改时,由于所有对象都关联同一块静态变量地址,其他对象再次调用静态变量的时候就会得到被改变了的静态变量值。

调用方式:

  • 类名调用(推荐)
  • 对象名调用
    由以上分析,我们不难得出,我们更推荐使用类名调用静态变量,因为静态变量不属于某一个对象
http://www.jsqmd.com/news/647183/

相关文章:

  • 大麦网自动抢票脚本技术解决方案:告别手动抢票的低效率困境
  • Linux服务器宝塔面板故障排查:SSH可连接但面板无法访问的解决方案
  • 从Nucleo到BluePill:一份超详细的STM32F103 BSP移植实战记录(附避坑点)
  • 树莓派+SocketCAN实战:手把手教你用CanFestival控制伺服电机(保姆级避坑指南)
  • 配置操作失败数量统计
  • LVGL复选框(lv_checkbox)实战:手把手教你做个嵌入式点餐界面(附完整源码)
  • 如何避免组态王打包程序时的3个典型错误?实测经验分享
  • 别只当计算器用!深入理解ANSYS Workbench 18.2 的Units设置与Engineering Data管理
  • 畅快呼吸,从 “鼻” 守护 —— 世界爱鼻日大咖共话慢性鼻窦炎药物与手术规范化诊疗
  • 软件工程师的远程工作攻略:全球高薪机会
  • 3大技术突破:nanoMODBUS如何重塑嵌入式工业通信的轻量化标准
  • 别再乱配Shiro了!Spring Boot整合Shiro实现Token登录,这份配置清单请收好
  • Stata17新版实测:3种数据导入方法速度对比(附命令行自动化脚本)
  • Renesas MCU开发踩坑记:CS+ for CC找不到iodefine.h的3种解决方法
  • 2025届毕业生推荐的AI科研助手推荐
  • aubo i5 + realsense D435i手眼标定
  • 想把 Chrome 插件变成独立的桌面程序
  • 2025届最火的十大降AI率工具推荐
  • 音视频直播构建优化
  • 保姆级教程:用Python+Ultralytics YOLOv8实时识别你电脑屏幕上的任何物体(附完整代码)
  • 2026年4月企业微信SCRM系统TOP7实测榜单:全行业私域增长工具选购指南
  • 官宣!数数科技正式更名为 ThinkingAI
  • P1618三连击 (暴力+枚举)
  • 顶级域名的投资策略——为什么要投资外国域名
  • 字符串处理的艺术:R语言中的正则表达式
  • 3步解决Windows软件乱码问题:Locale Emulator区域模拟终极方案
  • 回流APP正规吗?20亿+成交硬核见证,制度护航打造可信翡翠交易平台
  • tomcat乱码
  • 深入解析Bezier曲线的导矢计算与de Casteljau算法的几何关联
  • 活动抽奖系统--测试报告