最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何运用 static 关键字在类中定义无需实例化的静态成员
时间:2026-07-12 10:47:47 编辑:袖梨 来源:一聚教程网
static关键字声明类级别成员,包括静态变量(所有实例共享)、静态方法(仅访问静态成员)、静态代码块(类加载时执行一次)和静态内部类(不依赖外部类实例)。
static 关键字用于声明属于类本身、而非类实例的成员(变量或方法)。这类成员不依赖对象创建,可通过类名直接访问,节省内存且便于共享数据或工具功能。
静态变量:类级别的共享存储
静态变量在类加载时初始化,所有实例共享同一份内存空间。适合保存计数器、配置常量或缓存等全局状态。
- 用 类名.变量名 直接访问,无需 new 实例
- 不能在非静态方法中用 this 引用静态变量(this 指向实例,而静态成员不属于实例)
- 示例:public static int count = 0; —— 所有 Student 对象共用一个 count
静态方法:不依赖实例的工具函数
静态方法只能访问静态变量和其他静态方法,无法使用 this 或 super,也不能直接调用非静态成员。
- 常见用途:工厂方法(如 Integer.valueOf())、数学计算(Math.abs())、配置初始化
- 若需访问实例成员,必须显式传入对象引用作为参数
- 构造器不能被声明为 static(构造器本就是用来创建实例的)
静态代码块:类加载时的一次性初始化
用 static { ... } 定义,在类首次被加载时执行,常用于复杂静态变量的初始化逻辑。
- 只执行一次,早于任何对象创建和 main 方法
- 多个静态块按出现顺序依次执行
- 适合加载驱动、读取配置文件、初始化静态集合等场景
静态内部类:可独立于外部类实例存在
静态内部类不持有对外部类实例的隐式引用,可直接通过 外部类名.内部类名 实例化。
- 不能直接访问外部类的非静态成员(无 this 引用)
- 相比普通内部类更轻量,避免内存泄漏风险
- 常用于工具类封装,如 Collections.EmptyList
相关文章
- 火车票余票如何查询-火车票余票查询步骤与官方购票方法 07-17
- 怪物生存战争新手攻略大全 怪物生存战争零基础入门与生存技巧详解 07-17
- 豆包AI在线使用-豆包AI官方网页版直达入口 07-17
- 三国伏魔录新手入门指南 三国伏魔录详细玩法与快速上手教程 07-17
- 奈斯漫画首页登录下载版本怎么进-奈斯漫画免费漫画页面在线看漫画版本观看 07-17
- 创游世界网页端入口-创游世界下载入口 07-17