Java课前问题列表03
1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
- 不依赖于对象状态的方法、工具方法、工厂方法(用于创建对象)、主方法 main。
- 特性:属于对象的行为、使用实例变量。
- 不应该。因为 getName() 方法通常返回特定学生对象的姓名,依赖于实例变量,所以它应该是实例方法。
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
3.一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
- 通过包名+类名名来命名避免重名。
- 按照功能或模块来划分包,如:com.mycompany.service(存放服务类,如购物车)。
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
- 变量命名:
变量名应见名知意,采用小驼峰命名法,如userName,避免使用拼音或无意义的单字符(除非是循环变量如i)。
- 类命名:
类名采用大驼峰命名法,且应是名词,体现类的功能或职责,如StudentService(学生服务类)。
- 方法命名:
方法名采用小驼峰命名法,动词开头,体现方法的行为,如getStudentInfo(获取学生信息)、addToCart(添加到购物车)。
- 常量命名:
常量名全部大写,单词间用下划线分隔,如MAX_STUDENT_COUNT(最大学生数量)。
- 包命名:
包名全部小写,采用反向域名命名方式,如com.alibaba.demo,体现组织或项目的唯一性。
- 代码格式:
缩进使用 4 个空格(不要用 Tab);左大括号不换行,右大括号单独换行;方法体之间、逻辑块之间适当留白,增强可读性。
- OOP 规约:
类成员变量若为private,需提供对应的getter/setter方法,而非直接暴露成员变量;
重写方法时,@Override注解必须加上,便于编译器检查和代码阅读。