news 2026/4/3 5:45:46

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/3/13 9:28:52

C 语言中的结构体

C 语言中的结构体 在C语言编程中,结构体(Structure)是一种用户自定义的数据类型,它允许将不同类型的数据项组合成一个单一的复合数据类型。结构体在处理现实世界的问题时非常有用,因为它可以模拟现实世界中复杂的数据结构。 结构体的定义 结构体定义了数据的布局和类型…

作者头像 李华
网站建设 2026/3/7 21:37:33

笔记04:价值链深度游:追踪一包纸巾的“数字一生”

摘要 这篇笔记&#xff0c;咱们来玩一次角色扮演。我们将跟随一包名叫“云感棉柔”的纸巾&#xff0c;完整经历它从市场点子到消费者手中的全过程。你会亲眼看到&#xff0c;一包再普通不过的纸巾&#xff0c;是怎么在“社交倾听、产品设计、生产计划、工厂制造、仓储物流、渠…

作者头像 李华
网站建设 2026/3/26 22:49:38

Spring Boot 的安全机制

Spring Boot 的安全机制源码分析 Spring Boot 提供了强大的安全机制&#xff0c;确保应用程序在不同场景下的安全性。其安全机制的实现主要依赖于 Spring Security&#xff0c;这是一个全面且功能强大的安全框架。Spring Boot 对 Spring Security 进行了自动配置&#xff0c;简…

作者头像 李华
网站建设 2026/3/13 8:54:36

【计算机毕业设计案例】基于SSM的疫情健康上报管理系统疫情管理、行程上报、健康上报(程序+文档+讲解+定制)

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

作者头像 李华