惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
罗磊的独立博客
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
A
About on SuperTechFans
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
IT之家
IT之家
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
月光博客
月光博客
T
Tailwind CSS Blog
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
Java局部变量
记忆环游记 · 2026-05-10 · via 博客园_首页

对 Java 局部变量的理解

一、什么是局部变量

定义在方法内、方法参数、代码块(for/if/while)、构造方法内部的变量,统称为局部变量。
只在当前所属范围内有效,出了范围就不能使用。

二、局部变量的核心特点

1. 作用域范围小
只在定义它的大括号{}内有效,代码执行离开这个{},局部变量立即失效、被销毁。
2. 没有默认初始值
局部变量不会自动赋默认值(不像成员变量默认0、null),使用前必须手动赋值,否则编译报错。
3. 不被修饰符修饰
局部变量只能用 final 修饰,不能用  private、public、protected、static  修饰。
4. 存储位置
局部变量存放在栈内存中,方法调用结束后,栈内存自动释放,变量消失。
5. 生命周期短
随方法/代码块执行而创建,随方法/代码块执行结束而销毁。
6. 可以和成员变量重名
局部变量和成员变量同名时,局部变量优先(就近原则);
想要访问成员变量,需要用  this.变量名 。

三、局部变量的分类

1. 方法形参:方法括号里定义的变量,属于局部变量。
2. 方法内变量:方法体内部定义的变量。
3. 代码块变量:if、for、while、{} 内部定义的变量。

四、和成员变量的核心区别

对比 局部变量 成员变量
定义位置 方法/代码块内部 类中、方法外
默认值 无默认值,必须手动赋值 有默认值
修饰符 只能用final 可用public/private/static等
内存位置 栈内存 堆内存(对象中)
作用域 当前{}内 整个类有效
生命周期 方法执行完就销毁 对象存在就存在

代码示例理解

java

public class VarTest {
// 成员变量
int num = 10;

public void test(int a){ // a 是形参,属于局部变量
    // 局部变量
    int num = 20;
    System.out.println(num);       // 就近原则,输出20
    System.out.println(this.num);  // 访问成员变量,输出10

    if(true){
        // 代码块局部变量
        int b = 30;
        System.out.println(b);
    }
    // 这里不能使用b,超出作用域,编译报错
}

}

六、总结一句话

Java 局部变量是定义在方法/代码块内部、栈内存存储、无默认值、仅当前大括号内有效、生命周期随方法执行结束而消失的变量,遵循就近原则