当前位置: 首页 > news >正文

Day 9

跟着老师学Java类:终于摸到面向对象的门了

今天上课,老师没直接讲代码,而是先在黑板上画了个表格:左边写“手机”,右边列着“品牌、型号、电量”和“打电话、发消息、拍照”。“这些属性和功能凑在一起,就是Java里的‘类’。”老师一句话,把我之前对“类”模糊的想象,一下子拉到了眼前。

刚开始老师讲“类是模板,对象是实例”时,我还有点懵。直到他在IDE里敲出Student类的代码——成员变量写nameage,成员方法写study()introduce(),然后用Student ming = new Student();创建出“小明”这个对象,再调用ming.introduce(),控制台弹出“我叫小明,今年18岁”时,我突然懂了:类就像工厂里的图纸,规定了每个“产品”(对象)该有什么零件(成员变量)和能做什么事(成员方法);而new出来的对象,就是照着图纸造好的、能直接用的具体东西。之前学方法时总觉得代码是“散的”,现在用类把变量和方法打包,突然有了“给代码找着家”的感觉。

后来老师讲到“封装”,举了个特别实在的例子。他先让我们把Studentageprivate修饰,结果我们在主方法里直接写ming.age = -5时,IDE直接报错了。“这就是封装的作用——不让外部随便改数据。”接着老师教我们写setAge(int a)方法,在里面加了判断:如果a小于0,就提示“年龄不能为负数”,否则才给age赋值。那一刻我突然明白,之前觉得“封装就是加private”是错的,它更像给数据加了一道“防护门”,既保护数据不被乱改,又能通过规定的方式(getter/setter)安全访问——就像我们不会直接拆手机电池来充电,而是用充电器接口一样,规范又安全。

课堂练习时,老师让我们写一个Book类,要求有“书名、作者”属性,还有“显示信息”和“借阅”方法。我一开始犯了个傻:没new对象,直接用Book.showInfo()调用成员方法,结果报错了。老师过来指出:“静态方法才用类名调,成员方法得靠对象——你没造出书,怎么显示书的信息呀?”我赶紧加上Book javaBook = new Book("Java基础", "张三");,再调用javaBook.showInfo(),终于成功了。这个小错误让我记牢了:类里的成员方法和之前学的静态方法不一样,它得“附着”在具体的对象上才能用。

下课前老师总结:“Java是面向对象语言,而类就是面向对象的‘基石’——以后学继承、多态,都得从类开始。”现在看着自己写的StudentBook类代码,突然觉得“面向对象”不再是课本上的抽象概念,而是能用代码描述世界的工具:用Student描述学生,用Book描述书籍,每个类都像一个小小的“实体”,有自己的属性和行为。

晚上打算再练几个类,比如Phone类(属性:品牌、内存;方法:打电话、玩游戏),把今天学的封装和对象创建再巩固一遍。原来跟着老师一步步拆解,看似复杂的“类”,也能学得这么扎实~

http://www.hskmm.com/?act=detail&tid=30381

相关文章:

  • 14 10.13
  • 日志|前端框架Vue
  • oop.shiyan1
  • 玄机——第一章 应急响应-Linux日志分析 wp
  • 第四周第五天4.5
  • 深入解析:flutter AudioPlayer的使用问题及处理
  • 11 10.10
  • 12 10.11
  • P3330 [ZJOI2011] 看电影
  • 20232315 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 地址
  • CSP-S 2025 提高级模拟赛 Day6 复盘 B.连通子图
  • 新手村程序
  • Android Camera openCamera - 教程
  • 信号与系统
  • 大作业第一阶段验收小组集体加5分 -
  • 业务定义与指标体系搭建
  • Linux使用笔记
  • [Vulhub靶机]W1R3S靶机渗透
  • 基于zynq实现一个边缘识别视频流(预学习HLS篇)
  • 咬鼠
  • 10月13日日记
  • 分享一个知乎高赞回答生成AI指令:让技术人也能写出有深度的回答
  • 实用指南:C语言速成秘籍——循环结构(while、do while、for)和跳转语句(break,continue)
  • 描述https的加密过程
  • CSP-S 2025 提高级模拟赛 Day6 复盘 A.选择方案
  • SSL证书批量申请终极指南:一次搞定所有域名
  • npm install creat-vue命令使用报错解决方法
  • PDF转图片工具:基于PyQt5的完整实现与深度解析 - 详解
  • MongoDB安装及使用