java学习笔记

经过前两阶段的Java基础学习,我已经熟练掌握了变量、数据类型、流程控制、数组以及基础方法的使用,本周我继续深耕Java核心基础内容,重点攻克了面向对象入门、类与对象的核心逻辑、封装思想以及构造方法等知识点。不同于机械记忆语法,本次学习我刻意跳出碎片化刷题的模式,从编程思维的角度理解Java面向对象的设计逻辑,把零散的语法知识点串联成完整的知识体系,在不断的代码编写和问题排查中打磨自己的编程逻辑,也对Java“万物皆对象”的核心特性有了真切的实操感悟,特此做本次学习复盘,沉淀所学、梳理不足。
在本次学习的初期,我最先接触的是类与对象的基础概念,这也是Java区别于结构化编程语言的核心关键点。此前学习的流程控制、方法调用,更多是面向过程的编程思维,注重步骤的拆解与执行,而面向对象思维则完全切换了逻辑,核心是通过模拟现实事物,将事物的属性和行为封装在类中,再通过实例化对象完成功能调用。最开始我很难理解类和对象的关系,总是混淆二者的定义,通过反复编写实体类代码、对照案例实操,我慢慢理清了核心逻辑:类是模板,是抽象的定义,规定了事物拥有的属性和功能;对象是模板的具体实例,是真实存在的个体,一个类可以实例化多个不同的对象,每个对象都拥有独立的属性值。
掌握基础概念后,我重点练习了成员变量与局部变量的区别,这也是代码编写中极易出错的知识点。在多次调试报错代码后,我彻底厘清了二者的核心差异:声明位置上,成员变量定义在类中、方法外,局部变量定义在方法、代码块或形参列表中;作用范围上,成员变量属于对象,整个类中都可使用,局部变量仅在当前代码块生效;初始化方式上,成员变量拥有默认初始值,无需手动赋值即可使用,而局部变量必须手动初始化,否则编译器会直接报错。我在练习中多次遇到局部变量未赋值、变量作用域超限的报错,逐一排查解决后,彻底规避了这类基础bug,也养成了编码前梳理变量作用域的习惯。
本次学习的核心重点是Java三大特性之一的封装,这也是面向对象编程的核心规范。起初我以为封装只是简单的代码格式规范,直到实操后才明白其核心意义在于隐藏细节、保证数据安全、统一访问入口。封装的核心实现方式是将类的成员变量私有化,使用private修饰,禁止外部类直接访问,同时提供public修饰的getter和setter方法,通过方法对属性的赋值和获取进行管控。在编写学生实体类的案例中,我通过setter方法加入数据判断逻辑,限制年龄、分数的不合理赋值,有效避免了无效数据的产生,真切感受到封装在程序数据保护中的重要作用,也理解了规范化编码的必要性。
除此之外,我系统学习了构造方法的定义与使用,解决了对象初始化赋值的痛点问题。之前创建对象后,需要逐个调用setter方法为属性赋值,代码冗余且繁琐,而构造方法可以在对象实例化的同时,直接完成属性初始化,大幅简化了代码。我熟练掌握了无参构造、有参构造的创建与使用,同时记住了核心规则:当类中没有自定义构造方法时,编译器会自动生成默认无参构造,一旦自定义了有参构造,默认无参构造会直接失效,需要手动定义。在多次实操练习中,我刻意练习重载构造方法,根据不同的业务场景选择对应的构造方式,让对象初始化更加灵活。
在本次的代码实操过程中,我也发现了自己存在的诸多不足。一是面向对象思维转换不够彻底,编写代码时仍会下意识使用面向过程的思路,拆解步骤而非定义对象;二是封装的应用不够灵活,只会照搬固定模板,不会根据业务需求拓展getter、setter的校验逻辑;三是对构造方法重载、变量生命周期的理解不够透彻,复杂场景下容易出现逻辑漏洞。
针对这些问题,我后续会针对性补强训练,多写实体类封装案例,刻意训练面向对象的编程思维,不再局限于语法背诵,而是理解每一段代码的设计逻辑。同时整理本次所有报错案例,总结易错点,形成专属错题笔记,加深记忆。本次学习让我真正踏入了Java面向对象的核心领域,后续我会继续深耕继承、多态等核心特性,循序渐进完善Java核心知识体系,做到学以致用、熟练运用。

posted @ 2026-08-13 18:57  梦幻泡影Qv'Q  阅读(7)  评论(0)    收藏  举报