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

java预习

课前问题列表

1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?

  • 适合用 static 修饰的方法:
    工具类方法(如Math.abs())、工厂方法、不需要访问实例变量 / 方法的方法、单例模式的获取实例方法等,这类方法通常与类本身相关而非某个实例。
  • 不用 static 修饰的方法(实例方法)特性:
    依赖于类的实例存在,可访问实例变量和其他实例方法,能通过this关键字引用当前对象,行为可能因实例状态不同而变化。
  • Student 的 getName 是否用 static:
    不应该。getName()是获取某个学生实例的姓名,依赖具体实例,属于实例方法。

2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?

  • 提取方法:
    通过需求分析识别实体(如 “商品”“购物车”“用户”),再确定每个实体的属性(如商品的 id、名称)和行为(如购物车的添加商品方法)。
  • 类的归属判定:
  • 属性:看哪个实体 “拥有” 这个数据(如 “商品价格” 属于Product类)
  • 方法:看哪个实体 “执行” 这个行为(如 “添加商品” 属于ShoppingCart类)。

3. 一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。

  • 避免类名冲突:
  • 使用包(Package)进行命名空间隔离,如自己的类放在com.mycompany.order,他人的类可能在com.othercompany.order。
  • 代码管理方式:
  • 按功能模块划分包(如user、order、payment)。
  • 按层次划分(如controller、service、dao)。
  • 举例:电商项目中,用户相关类放在com.shop.user,订单相关类放在com.shop.order。

4. 阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:

变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。

  • 1变量命名:成员变量用 lowerCamelCase(如userName),避免下划线。
  • 2类命名:用 UpperCamelCase(如UserService),抽象类前缀加Abstract(如AbstractUser)。
  • 3方法命名:用 lowerCamelCase(如getUserInfo()),动词开头(如add、delete)。
  • 4常量命名:全大写 + 下划线(如MAX_COUNT),不允许修改。
  • 5包命名:全小写,用域名反转(如com.alibaba.middleware)。
  • 6代码格式:左大括号不换行,与代码同行(如if (a>0) {)。
  • 7OOP 规约:避免在构造方法中调用非静态方法,防止多态引发问题。

http://www.wxhsa.cn/company.asp?id=6739

相关文章:

  • B/S体系结构风格
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C
  • 在joule里面使用agent 功能
  • Feign动态URL配置
  • 自动化部署工具 Jenkins 的安装与配置
  • pip 搭建源
  • qoj10093 Jump the Frog
  • new 和make
  • Ceres 常用 LossFunction 对比
  • python函数
  • git使用
  • 测试开发全日制学徒班火热报名中|跟着名企大咖做真实项目,结业即上岗
  • 墨刀是否能替代Axure?从产品经理三大画图能力深度分析
  • AI 自动化智能体训练营
  • 微信商户绑定微信公众号、小程序
  • 唯创知音AI语音交互芯片与模组介绍
  • k3s 高可用集群部署(内置 etcd + VIP + keepalived)
  • 问HashMap底层原理?
  • 用 Go 重写 adbkit:原理、架构与搭建实践
  • C语言环境搭建之Linux子系统使用vscode连接子系统
  • 移远AT指令笔记
  • 数据类型
  • iphone运行windows系统
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置指南
  • Ubuntu filebrowser网盘工具安装
  • 图片结构 - voasem
  • ESP32做AP,ESP8266做station,遥控
  • 实用指南:25年高联:一试填空题解析(下篇)
  • Spring AOP 面向切面编程 - 浪矢
  • jvm内存泄漏的排查tips总结