news 2026/4/22 18:29:39

Java静态与终极:static和final详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java静态与终极:static和final详解

好的!下面用简单易懂的方式解释 Java 中的staticfinal关键字:


1.static关键字

static表示"静态的",用于修饰成员(变量、方法、代码块)。它意味着该成员属于类本身,而不是类的某个实例。

特点
  1. 静态变量

    • 所有实例共享同一个静态变量。
    • 通过类名.变量名直接访问。
    class Student { static String school = "清华大学"; // 所有学生共享学校名称 } // 使用 System.out.println(Student.school); // 输出"清华大学"
  2. 静态方法

    • 可直接通过类名.方法名()调用。
    • 不能访问非静态成员(因为不依赖实例)。
    class MathUtils { static int add(int a, int b) { return a + b; } } // 使用 int result = MathUtils.add(3, 5); // 输出8
  3. 静态代码块

    • 在类加载时执行一次,用于初始化静态资源。
    class Database { static { System.out.println("加载数据库驱动..."); } }

2.final关键字

final表示"不可改变的",用于修饰变量、方法或类。

特点
  1. final变量

    • 基本类型:值不可修改(常量)。
    • 引用类型:引用不可变(但对象内部状态可能可变)。
    final double PI = 3.14159; // 常量 final List<String> list = new ArrayList<>(); list.add("Java"); // 允许!因为list引用不变,但内容可变 // list = new ArrayList<>(); // 错误!引用不可重新赋值
  2. final方法

    • 方法不能被重写(子类不能修改)。
    class Parent { final void print() { System.out.println("不能重写我!"); } } class Child extends Parent { // void print() { ... } // 编译错误! }
  3. final

    • 不能被继承
    final class StringUtils { ... } // class SubUtils extends StringUtils { ... } // 错误!

3.static final组合

  • static final修饰的变量是全局常量,通常用大写命名。
  • 例如 Java 中Integer.MAX_VALUE
    public static final int MAX_VALUE = 2147483647;

总结对比

关键字作用目标核心意义
static变量、方法、代码块共享(属于类,不依赖实例)
final变量、方法、类不可变(常量、不可重写、不可继承)

通过合理使用这两个关键字,能更好地控制代码的灵活性与安全性。

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

SpringBoot4.0+JDK25+GraalVM:云原生新纪元

好的&#xff0c;这是一个结合了 Spring Boot 4.0&#xff08;假设版本&#xff09;、未来的 JDK 25 以及 GraalVM 的前沿技术组合&#xff0c;代表了 Java 云原生应用的演进方向。让我们逐步分析其关键特性和架构优势&#xff1a; 1. Spring Boot 4.0&#xff1a;应用框架的进…

作者头像 李华
网站建设 2026/4/17 18:45:02

用Python实现第一个量子机器学习模型完整教程:Qiskit与TensorFlow集成

——手把手代码教学与常见问题解决方案 作者:DREAMVFIA UNION 发布日期:2026年2月1日 版权:© 2026 DREAMVFIA UNION -------------------------------------------------- 目录 1. 第一章:引言——为什么学习量子机器学习 2. 第二章:量子计算基础回顾 3. 第三章…

作者头像 李华
网站建设 2026/4/19 4:45:17

U654615 比特聚集(bit)补题报告

先看题目&#xff1a;题目分析我们有一个长度为 的二进制字符串 &#xff0c;包含字符 0 和 1&#xff0c;至少有一个 1。 可以交换相邻字符&#xff0c;每次交换算一次操作。 目标&#xff1a;让所有 1 连续排列&#xff08;形成一段连续的 1&#xff09;。 求最少操作次数思…

作者头像 李华
网站建设 2026/4/22 21:55:11

AI大模型基于LangChain 进行RAG与Agent智能体开发

大模型&#xff0c;英文名叫Large Model&#xff0c;大型模型。早期的时候&#xff0c;也叫Foundation Model&#xff0c;基础模型。 大模型是一个简称&#xff0c;完整的叫法&#xff0c;应该是“人工智能预训练大模型”。预训练&#xff0c;是一项技术&#xff0c;我们后面再…

作者头像 李华
网站建设 2026/4/18 6:00:10

开题报告-基于BS的在线电影视频播放系统的设计与实现

目录 研究背景与意义系统核心功能技术选型创新点设计预期成果应用价值 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 研究背景与意义 在线电影视频播放系统基于B/S架构&#xff08;Browser/Server&…

作者头像 李华
网站建设 2026/4/18 12:59:35

【课程设计/毕业设计】基于SSM的疫情健康上报管理系统每日体温填报 异常症状上报(咳嗽、发热等) 数据可视化【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华