news 2026/8/22 13:18:52

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/8/22 8:34:33

Transformer注意力机制如何提升Qwen-Image-Edit-2509编辑精度

Transformer注意力机制如何提升Qwen-Image-Edit-2509编辑精度 在电商运营人员每天面对成百上千张商品图需要更新的今天,一个常见的场景是:某款T恤的颜色变了,但拍摄背景和模特姿势不变。传统做法是重新拍摄或打开Photoshop手动换色——耗时、…

作者头像 李华
网站建设 2026/8/21 16:05:13

抖音视频批量下载神器使用完整教程

抖音视频批量下载神器使用完整教程 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而烦恼吗?想要高效收集喜欢的创作者内容却不知从何下手?抖音批量下载助手正…

作者头像 李华
网站建设 2026/8/21 20:43:32

如何用浏览器快速调试串口设备:Web串口助手的完整使用指南

如何用浏览器快速调试串口设备:Web串口助手的完整使用指南 【免费下载链接】SerialAssistant A serial port assistant that can be used directly in the browser. 项目地址: https://gitcode.com/gh_mirrors/se/SerialAssistant 在物联网开发和嵌入式系统调…

作者头像 李华
网站建设 2026/8/22 1:50:02

大模型微调--Dora微调

https://arxiv.org/pdf/2402.09353 DoRA: Weight-Decomposed Low-Rank AdaptationDoRA: Weight-Decomposed Low-Rank Adaptation DoRA(Weight-Decomposed Low-Rank Adaptation)是一种用于大模型微调的高效参数优化方法,通过分解权重矩阵并结合…

作者头像 李华
网站建设 2026/8/22 8:10:03

MoE负载均衡策略

MoE负载均衡策略概述 混合专家模型(Mixture of Experts, MoE)中的负载均衡策略旨在合理分配输入样本到各专家网络,避免某些专家过载或闲置。核心目标是提升模型计算效率,确保专家资源利用率最大化。 负载均衡策略实现方法 基于门控…

作者头像 李华
网站建设 2026/8/21 20:38:23

MouseClick:革命性鼠标连点器如何彻底改变你的工作效率?

MouseClick:革命性鼠标连点器如何彻底改变你的工作效率? 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观…

作者头像 李华