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

static 关键字的 特殊性

static 关键字的 “特殊性” 主要体现在其与类、对象的绑定关系,以及由此带来的一些反常规规则,具体如下:

  1. 生命周期与内存位置特殊

    • 静态成员(变量 / 方法)随类加载而创建,随类卸载而销毁,生命周期与类一致,远长于对象(对象随创建而存在,垃圾回收时销毁)。
    • 静态变量存储在方法区(而非堆内存),所有对象共享同一份,修改时会影响所有使用该变量的地方。
  2. 访问方式特殊

    • 可直接通过 类名.成员 访问,无需创建对象(非静态成员必须通过对象访问)。
    • 即使对象被销毁,静态成员仍可正常访问(只要类未卸载)。
  3. 内部限制特殊

    • 静态方法中不能直接使用非静态成员(变量 / 方法),因为非静态成员依赖对象存在,而静态方法调用时可能无对象。
    • 静态方法中不能使用 this 或 super 关键字,因为 this 指向当前对象,而静态方法不依赖对象。
  4. 继承与重写的特殊性

    • 静态方法不能被重写(Override),只能被 “隐藏”(子类定义同名静态方法时,父类方法被隐藏,而非重写)。
    • 调用静态方法时,实际执行的版本由编译时类型决定(非静态方法由运行时类型决定),违背多态的动态绑定规则。
  5. 静态内部类的独立性

    • 静态内部类可独立实例化,无需先创建外部类对象;而非静态内部类必须依赖外部类对象存在。
    • 静态内部类中不能访问外部类的非静态成员,只能访问外部类的静态成员。

http://www.lryc.cn/news/597293.html

相关文章:

  • 双流join 、 Paimon Partial Update 和 动态schema
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-2,(电路分析/MOS管)
  • OpenLayers 快速入门(四)View 对象
  • PyTorch中nn.Module详解和综合代码示例
  • 大模型提示词漏洞攻防实战:从注入攻击到智能免疫系统的进化之路
  • mac电脑搭载c、c++环境(基于vs code)
  • 在mac 上zsh 如何安装最新的 go 工具
  • GRE实验
  • 微软Fabric重塑数据管理:Forrester报告揭示高ROI
  • 「iOS」——KVC
  • linxu CentOS 配置nginx
  • 【音视频学习】四、深入解析视频技术中的YUV数据存储方式:从原理到实践
  • 开源UI生态掘金:从Ant Design二次开发到行业专属组件的技术变现
  • 7月23日华为机考真题第二题-200分
  • 7月23日华为机考真题第一题100分
  • 关于原车一键启动升级手机控车的核心信息及注意事项
  • 将AI协作编程从“碰运气”的提示工程(Prompt Engineering)提升到“可预期”的上下文工程(Context Engineering)
  • 驯服AI的“魔法咒语”:Prompt提示词工程使用教程
  • [特殊字符] 从数据库无法访问到成功修复崩溃表:一次 MySQL 故障排查实录
  • 显微科研中的关键选择:不同显微镜相机技术特性与应用适配性全面解析
  • SpringBoot Stream实战指南
  • Django学习之旅--第13课:Django模型关系进阶与查询优化实战
  • 电科金仓推出AI融合数据库,开启国产数据库新时代
  • 深入理解 Java Builder 设计模式:解决构造函数爆炸问题
  • Java SE:类与对象的认识
  • 编程语言Java——核心技术篇(二)类的高级特性
  • Python 程序设计讲义(9):Python 的基本数据类型——复数
  • LeetCode|Day23|326. 3 的幂|Python刷题笔记
  • Flask框架全面详解
  • Element中ElMessageBox弹框内容及按钮样式自定义