1.修饰符
什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
- static修饰符:指被 static 修饰的成员变量为静态变量(或称为类变量),静态变量可以用于引用所有对象的公共属性,静态方法不能直接使用非静态数据成员或调用非静态方法。
- 当一个方法或者变量初始化的时候可以用static,或者经常被调用时。
- 不加static,就不是公共的而是每个对象独有的。
- 不应该,Student的getName应该只属于student自己,不是公共的。
2. 购物车案例
购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
- 首先要了解系统本身:用一段文字描述要设计的系统及其功能,然后将其中的名词和动词找出来。
- 对于名词:可以考虑是否创建相应的类,或者是某个类的属性
- 对于动词:分析是否可以当作方法,可以作为哪个类中的方法。
- 根据名词后的动词,即可确定该方法在该类中。
3. 管理类
一个项目中有很多类。项目中要怎么管理这些代码呢?
- 使用包管理类,包机制可以将一组相关的类、接口组织起来,提供访问控制,命名空间管理功能。
4. Java编程规范
阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
1. 类名:使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
2.代码风格:采用 4 个空格缩进,禁止使用 tab 字符。
3. 常量命名:不允许任何魔法值(即未经定义的常量)直接出现在代码中。
4. OOP规约:Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用
equals。
5. 命名:代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
6.包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用
单数形式,但是类名如果有复数含义,类名可以使用复数形式。
7.OOP规约:避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成
本,直接用类名来访问即可。