news 2026/9/2 3:22:54

Static 关键字笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Static 关键字笔记

在 Java 编程中,static关键字是基础且高频的考点,其涉及的类加载机制、代码执行顺序等内容,直接影响我们对程序运行逻辑的判断。本文结合实操案例,拆解static关键字的核心特性与执行规则。

一、static核心执行规则

static修饰的内容属于类级别的成员,而非对象级别的成员,这是理解其执行逻辑的根本。

  1. 执行时机:静态相关内容(静态变量赋值、静态代码块)在类加载阶段就会执行,早于构造函数、普通方法等所有非静态内容。
  2. 执行顺序:静态内容遵循自上而下的顺序执行,代码定义在上方的先执行,定义在下方的后执行。
  3. 执行次数:静态内容仅在类第一次被加载时执行一次,后续无论创建多少个该类的对象,静态代码都不会重复执行。
  4. 范围界定:并非只有static{}代码块属于静态执行逻辑,类中直接定义的静态变量赋值语句,同样属于静态代码范畴,参与类加载阶段的执行流程。

二、代码实现

结合典型 Demo,我们可以清晰梳理static代码的执行步骤:

  1. 触发类加载:当程序中通过new关键字创建目标类对象时,会触发该类的加载流程。
  2. 执行静态内容:类加载时,按照自上而下的顺序执行所有静态代码:
    • 先执行第一段静态逻辑,输出对应的标识(如案例中的AAA及连接符);
    • 再执行下一段静态变量赋值或静态代码块逻辑,输出对应的内容(如案例中的22);
    • 直至所有静态内容执行完毕,类加载完成。
  3. 执行对象创建流程:类加载完成后,才会调用构造函数,执行对象初始化的非静态相关操作,完成对象的创建。

三、static关键字关键注意事项

  1. 静态内容的访问权限:静态代码块和静态方法中,无法直接访问非静态成员(非静态变量、非静态方法)。原因是静态内容执行时,非静态成员尚未初始化,此时对象还未创建。
  2. 静态变量的共享性:静态变量属于类,被该类的所有对象共享。任何一个对象对静态变量的修改,都会影响其他对象对该变量的读取结果。
  3. 静态方法的调用方式:静态方法既可以通过对象调用,也可以直接通过类名.方法名()的方式调用,推荐使用类名直接调用,更能体现其类级别的特性。

四、static关键字的典型应用场景

  1. 定义工具类方法:如java.util.Arrays中的排序、查找方法,无需创建对象即可调用,简化代码编写。
  2. 定义常量:结合final关键字使用,如public static final double PI = 3.1415926;,实现常量的全局共享。
  3. 实现单例模式:通过静态变量存储单例对象,配合私有构造函数,确保整个程序中只有一个实例。
  4. 静态代码块初始化资源:如加载配置文件、初始化数据库连接池等,在类加载时完成资源初始化,避免重复操作。

掌握static关键字的核心规则,不仅能帮助我们精准预判程序运行结果,更是编写高效、规范 Java 代码的基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 5:47:25

Live2D智能助手:3步打造网站AI虚拟角色完整指南

Live2D智能助手:3步打造网站AI虚拟角色完整指南 【免费下载链接】live2d_ai 基于live2d.js实现的动画小人ai,拥有聊天功能,还有图片识别功能,可以嵌入到网页里 项目地址: https://gitcode.com/gh_mirrors/li/live2d_ai 想要…

作者头像 李华
网站建设 2026/9/1 5:38:39

火山引擎AI大模型服务为何选择vLLM作为底层引擎?

火山引擎AI大模型服务为何选择vLLM作为底层引擎? 在大模型落地的浪潮中,推理性能已成为决定企业能否将先进AI能力真正转化为生产力的关键瓶颈。尽管许多团队已经成功训练或微调出高质量的语言模型,但在实际部署时却常常遭遇“跑不快、撑不住、…

作者头像 李华
网站建设 2026/9/2 16:06:46

LangChain Expression Language重构Qwen3-VL-30B链式逻辑

LangChain Expression Language重构Qwen3-VL-30B链式逻辑 在智能文档理解、医疗影像分析和自动驾驶感知系统日益复杂的今天,如何高效调度大型视觉语言模型(VLM)的推理流程,已成为AI工程落地的核心瓶颈。传统的串行调用方式难以应对…

作者头像 李华
网站建设 2026/9/1 7:04:54

dualpipe 核心解决策略

https://github.com/deepseek-ai/DualPipe/blob/main/examples/example_dualpipev.py理解 DualPipe 的基本概念 DualPipe 通常指一种并行处理或数据传输的架构,涉及两条独立的通道(管道)协同工作以提高效率。核心应用场景包括数据处理、网络通…

作者头像 李华
网站建设 2026/9/1 20:54:56

孤能子视角:理论下的2026经济动力学脉络

(尝试简约关系线投射建模分析。)信兄回答:基于你提供的政策要点和“能量-信息孤能子理论(EIS)”的框架,我们可以将2026年的经济形势视为一个宏观的 “国家发展孤能子” ,在特定关系场域中,为应对内外“元三力”作用而进…

作者头像 李华
网站建设 2026/8/30 21:42:44

数据库文档自动化终极指南:5分钟一键生成专业数据库文档

数据库文档自动化终极指南:5分钟一键生成专业数据库文档 【免费下载链接】database-export 基于SpringBoot的开源数据库表结构导出word文档工具 项目地址: https://gitcode.com/gh_mirrors/da/database-export 在软件开发的生命周期中,数据库文档…

作者头像 李华