跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAIjava

java中的static关键字和静态成员

在 Java 中声明类的成员变量和成员方法时,可以使用 static 关键字将成员声明为静态成员。静态变量也称为**类变量**,非静态变量称为**实例变量**;静态方法也称为**类方法**,非静态方法称为**实例方法**。 下面通过示例说明类变量与实例变量的区别: **程序运行说明:** 程序中定义 count 的目的是记录创建对象的数目,但实际运行结果并非预期。因为 count 是实例变量,每个…

Tesfly发布于 2013/4/29更新于 2026/5/2370K 浏览
java中的static关键字和静态成员

在 Java 中声明类的成员变量和成员方法时,可以使用 static 关键字将成员声明为静态成员。静态变量也称为类变量,非静态变量称为实例变量;静态方法也称为类方法,非静态方法称为实例方法。

下面通过示例说明类变量与实例变量的区别:

class UseBook {
    String name;
    float price;
    int count = 0; // 实例变量,记录创建对象的个数
    static int bookNumber = 100; // 静态变量,书的起始编号为 100

    UseBook(String n, float p) {
        name = n;
        price = p;
        count++;
        bookNumber++;
    }

    void output() {
        prt("name: " + name + "\tprice: " + price + "\t");
        prt("bookNumber: " + bookNumber + "\tcount: " + count + "\t");
    }

    public static void prt(String s) {
        System.out.print(s);
    }

    public static void main(String[] args) {
        UseBook b1, b2, b3;
        b1 = new UseBook("java2", 36.0f);
        b1.output();
        b2 = new UseBook("c++", 40.0f);
        b2.output();
        b3 = new UseBook("vb", 20.0f);
        b3.output();
    }
}

程序运行说明: 程序中定义 count 的目的是记录创建对象的数目,但实际运行结果并非预期。因为 count 是实例变量,每个对象在内存中都拥有独立的 count 副本。创建对象时对 count 执行加一操作,仅作用于当前实例的成员变量,而非全局唯一的计数器,因此无法正确统计对象创建的总数。

相反,bookNumber 是静态变量,被该类的所有实例共享。所有对象操作的是同一个 bookNumber 成员变量,每创建一个新对象,bookNumber 的值就会累加 1,从而实现了书籍编号的自动递增。

  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 FPGA 的 SPI 控制 FLASH 读写
  • Linux 进程等待机制:wait/waitpid 与僵尸进程治理
  • OpenClaw 接入飞书机器人配置指南
  • 算法基础:一维前缀和
  • C++ STL list 容器底层实现分析
  • 千笔 AI 写作工具八大核心功能解析
  • 美团龙猫大模型 LongCat-Flash-Chat 快速入门
  • Python 内置函数:enumerate()、eval()和 exec()
  • import/export:前端模块化实战 | JS 基础语法与数据操作
  • 前端 html2canvas 使用场景详解
  • P2P 组网实现远程访问 AI 服务的技术方案
  • PyOxidizer Python 部署打包工具使用指南
  • 前端代码可读性优化:让代码更易维护与协作
  • Java 反射详解
  • Java 异常处理机制与全局异常捕获实战
  • FPGA 开发工具深度解析:Vivado、Quartus 与 ModelSim 选型指南
  • Flutter EWS 组件在鸿蒙平台的适配与实战
  • 基于 Nexent 平台构建 AI 智能体处理工作文档实战指南
  • AI 图像生成指南:从原理到实战
  • 网络通讯核心协议:TCP、UDP、HTTP 与 HTTPS 详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online