Java学习周总结
本周我系统学习了Java面向对象编程的基础知识、字符串的应用,并复习了数组相关知识点。通过理论与实践结合,我对Java编程的核心思想有了更深入的理解,同时也通过练习巩固了基础能力。以下从三个方面总结本周的学习收获。
一、面向对象编程基础
面向对象的三大特性(封装、继承、多态)是本周的学习重点。通过编写类与对象的示例代码,我理解了如何通过`class`定义对象的属性和方法,并通过`new`关键字实例化对象。例如,在封装练习中,通过私有化成员变量(`private`修饰符)和提供`getter/setter`方法,我掌握了隐藏实现细节、保护数据安全的方法。
在继承学习中,通过`extends`关键字实现子类对父类的扩展,并结合`@Override`重写方法,我体会到代码复用的优势。多态部分通过父类引用指向子类对象(如`Animal dog = new Dog()`),让我理解了接口统一性与实现灵活性的结合。这些练习让我对面向对象的"高内聚、低耦合"设计理念有了初步认识。
二、字符串的深入应用
字符串是Java中使用频率极高的类,本周重点练习了`String`的常用方法(如`substring()`截取、`indexOf()`查找索引)和不可变性特性。在实现字符串反转、统计字符出现次数等练习时,我发现直接操作字符串可能产生大量临时对象,转而使用`StringBuilder`提升效率,理解了不可变性在内存优化中的作用。
此外,通过比较`==`和`equals()`的区别,明确了`==`比较对象地址,而`equals()`比较内容的重要性,尤其在用户登录验证等场景中,必须使用`equals()`进行字符串内容比对,避免逻辑错误。
三、数组的复习与拓展
在数组复习中,我重新梳理了一维、二维数组的声明方式(如`int[] arr = new int[5]`),并练习了冒泡排序、二分查找等经典算法。通过结合字符串处理,实现了统计数组中单词频率的功能。例如,将字符串按空格分割为字符串数组后,通过双重循环统计每个单词出现的次数,这让我对数组的遍历和条件判断有了更熟练的掌握。