
JAVA学习笔记:深入理解类与对象
下载需积分: 3 | 5KB |
更新于2025-02-23
| 169 浏览量 | 举报
收藏
"很不错的JAVA学习笔记"
这篇Java学习笔记包含了两个关键知识点,分别涉及对象引用和内部类的使用。
1. 对象引用与方法参数传递:
在提供的代码示例1中,展示了Java中的对象引用传递行为。代码创建了一个`ValHold`类,其中有一个公开的`int`变量`i`。`ObParm`类有两个方法,`amethod()`和`another()`。在`amethod()`中,创建了一个`ValHold`对象`v`并将其传递给`another()`。在`another()`中,`v`的`i`被修改并重新赋值为一个新的`ValHold`对象。这里的关键点是,尽管`v`在`another()`中被重新赋值,但原始的`ValHold`对象的引用仍然存在于`amethod()`中。因此,当在`main()`中打印`v.i`时,输出为20,因为这是在`another()`中最后对`v.i`所做的修改。这个例子说明了Java中对象引用的传递不是按值传递,而是按引用传递,也就是说,方法参数实际上是对象引用的副本,而不是对象本身。
2. 内部类与final关键字:
在第二个代码示例中,`InOut`类包含了一个内部类`Bicycle`。`Bicycle`类在其构造器中访问了`InOut`类的成员变量`s`和`amethod()`的final参数`iArgs`。这揭示了内部类可以访问其外部类的所有非私有成员,以及局部变量(如果该局部变量是final的)。在`amethod()`中,`iArgs`必须声明为final才能在内部类中使用,因为内部类需要在外部方法的作用域之外保持对该变量的引用。而`iOther`在`another()`中声明,由于它不是final的,所以不能在`Bicycle`类中访问。这说明了内部类可以访问final局部变量作为封闭作用域的“快照”,并且这种访问方式是在编译时确定的,而不是运行时。
这两个例子都是Java编程中的基础概念,对于初学者来说非常重要,理解它们有助于深入理解Java对象的生命周期和内部类的工作原理。在学习过程中,掌握这些基本概念有助于避免常见的编程陷阱,并能更好地设计和维护Java程序。
相关推荐

















fenghunwj
- 粉丝: 2
最新资源
- VITAL 4K-crx插件:高效脂肪消除与体重减轻解决方案
- 新编码员的好帮手:Code-Scope VS Code扩展解析
- vendedores-LucianoRobles: 探索GitHub Classroom与Kotlin结合实践
- Dinoswap智能合约部署与安全性分析
- 全基因组评估工具的实践指南与Docker化部署
- CMS博客演示:创建、编辑、删除帖子的完整流程
- 区块链安全CTF精选挑战与解决方案解析
- 探索信息技术前沿:NWTTCAOsGyak主文件分析
- React App入门指南与开发工具使用
- Tabelaci.NET插件:土耳其标牌广告的数字印刷解决方案
- ACL 2020精选:DeFormer模型加速问答系统
- 南亚开发银行的TypeScript项目概览
- ChIP-exo工具比较分析:R脚本与数据质量研究
- 我的个人网站:使用SCSS打造的eCanro GitHub.io
- 免费直播电视APK下载:Android上的crx插件
- 探索背包客旅程: 新版YouTube视频扩展工具
- Elixir中Identicon生成器的安装与使用指南
- 4BHK别墅结构设计全流程:Staad.Pro与Revit的应用
- Git版本控制系统的介绍与实践指南
- Winzo Gold插件:每日获得1000卢比的幻想游戏平台
- Blockfolio for PC:在Windows/Mac上运行的加密货币追踪工具
- 如何克隆Terraform仓库并进行个性化设置
- 谷歌插件发现最新印地语阿克巴与比尔巴尔故事集
- Willdo: 利用以太坊提升个人纪律的区块链工具