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

第3周预习作业

Java

1. static 方法的使用与特性

应使用 static 修饰的方法:

  • 不依赖实例变量或实例方法的方法(工具方法)。
  • 仅操作静态变量或参数的方法。
  • 工厂方法、单例模式获取实例的方法。
  • 纯函数式方法(无状态、输入决定输出)。

非 static 方法的特性:

  • 依赖实例状态(操作实例变量)。
  • 需通过对象实例调用(属于对象级别行为)。
  • 常表示对象的行为或动作(如 student.study())。

Student 的 getName 是否应为 static?
否。getName() 通常返回实例的姓名(依赖实例变量 name),应作为实例方法。若设为 static,则无法访问实例的 name,除非将 name 也改为 static(不合理,因为每个学生姓名独立)。


2. 购物车案例的类与方法识别

识别方法:

  • :从问题描述中提取名词(如 购物车、商品、用户)。
  • 属性:类的特征(如 商品价格、购物车商品列表)。
  • 方法:类的行为(动词短语,如 添加商品、计算总价)。

判定方法与属性的归属:

  • 依据职责驱动设计:方法应属于操作对应数据的类。
    • 例如:添加商品 方法应属于 购物车 类(因它直接操作购物车的商品列表)。
    • 属性应属于持有该数据的类(如 商品价格 属于 商品 类)。

3. 避免类名冲突与代码管理

避免类名冲突:

  • 使用包(package) 进行命名空间隔离(如 com.companyname.project.module.ClassName)。
  • 遵循反向域名包命名规范(如 org.apache.commons.StringUtils)。

代码管理方式:

  • 按模块分包:例如:
    com.example.project├── model       (数据模型类,如 User、Product)├── service     (业务逻辑类,如 OrderService)├── dao         (数据访问类,如 UserDao)└── util        (工具类,如 StringUtils)
    
  • 使用 IDE(如 IntelliJ IDEA/Eclipse)的包结构视图管理。
  • 结合构建工具(如 Maven/Gradle)按模块组织代码。

4. 阿里巴巴 Java 开发手册规范(精选 7 条)

类别 规范内容
类命名 类名使用 UpperCamelCase 风格(如 UserService)。
方法命名 方法名使用 lowerCamelCase 风格(如 getUserName())。
变量命名 变量名使用 lowerCamelCase,避免数字或特殊字符(如 messageCount)。
常量命名 常量名全大写,单词间用下划线分隔(如 MAX_RETRY_COUNT)。
包命名 包名全小写,使用单数名词(如 com.alibaba.util)。
代码格式 缩进采用 4 个空格,禁止使用 Tab;大括号 if/else 必须使用。
OOP 规约 禁止直接通过类访问静态变量(应通过类实例访问);重写方法需加 @Override。
http://www.hskmm.com/?act=detail&tid=12377

相关文章:

  • 《原子习惯》-读书笔记6
  • Java LTS版本进化秀:从8到21的欢乐升级之旅
  • 201912_EASER
  • 搜索百科(3):Elasticsearch — 搜索界的“流量明星”
  • 打印机漏洞、匿名协议与AWS安全:一周技术热点解析
  • 从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
  • ALLinSSL,开源免费的SSL证书自动化管理平台
  • 《原子习惯》-读书笔记5
  • 03-袁东申论-概括原因
  • 包和final
  • 实现双向循环链表 - 详解
  • 2025-09-21 网站前几分钟还运行的好好地,几分钟后查看居然显示文件无法加载,访问首页提示无法访问此网站??!==ssl证书过期+域名解析失效
  • 20231321王曦轶《密码系统设计》第二周
  • 爱锋拍照工具 - 隐私政策
  • 周计划+总结
  • [POI 2004] MOS
  • 第03周 面向对象入门2与类的识别
  • 完整教程:启用GPU对模型进行推理,安装cuda toolkit cuDNN 9
  • 25秋周总结3
  • R ggplot2学习Nature子刊一张图,换数据即可用! - 指南
  • 2025-06-10.购买联想thinkpad 16p
  • 不会的好题总结
  • MySQL的Schema是什么? - 公众号
  • 与7无关的数
  • 推动安全研究多元化的10万美元捐赠计划
  • 20250919
  • 详细介绍:体验感满满—万物皆可插入
  • 支付宝的对账单下载
  • 1.6μVRMS超低噪声、20V、200mA低静态电流线性稳压器IBSP3030,替代LT3042、GM1201
  • [NOIP2022] 建造军营 解题报告