news 2026/4/16 13:00:52

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/16 9:25:26

运维人的尽头,只能是无休止的“救火”吗?

回想元旦放假第一天&#xff0c;热腾腾的早餐刚端上桌&#xff0c;手机微信的提示音就炸响了——客户发来急报&#xff1a;电子票据数据库 CPU 爆表&#xff01;那一瞬间&#xff0c;一股凉意直冲脊梁。 我不由得苦笑&#xff0c;上次是国庆&#xff0c;这次是元旦。多少次了&a…

作者头像 李华
网站建设 2026/4/16 11:10:43

数字滤波器设计中的精度问题

一、数字滤波器的误差源 数字滤波器不论是用物理硬件方法还是用计算机程序实现,都会由于字长的限制而产生误差,误差的原因一般可归纳为3种类型。 第一是由于滤波器系数表达精度有限引起的,它对所求的滤波器的传递特性和稳定性均有影响。由于非递归滤波器没有反馈结构,因此不…

作者头像 李华
网站建设 2026/4/16 11:04:11

AI原生应用开发:如何选择合适的相似度匹配算法?

AI原生应用开发&#xff1a;如何选择合适的相似度匹配算法&#xff1f;关键词&#xff1a;相似度匹配算法、AI原生应用、欧氏距离、余弦相似度、局部敏感哈希、Siamese网络、推荐系统摘要&#xff1a;在AI原生应用中&#xff0c;相似度匹配是实现智能推荐、精准搜索、内容理解的…

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

Google 地图叠加层:功能、应用与未来展望

Google 地图叠加层:功能、应用与未来展望 引言 Google 地图作为全球最受欢迎的地图服务之一,凭借其强大的功能和丰富的数据资源,已经成为人们日常生活中不可或缺的工具。其中,Google 地图叠加层(Layers)功能为用户提供了更加灵活和个性化的地图体验。本文将详细介绍Goo…

作者头像 李华
网站建设 2026/4/15 17:47:57

测试文件所使用的依赖

依赖如下&#xff1a;<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId></dependency>测试文件&#xff1a;package org.example.simplemybatis3.service;// src/main/java/com/example/TestInMai…

作者头像 李华