目录
1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
3.一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
1.1 如果一个方法不依赖于任何特定对象的状态,也就是说它不需要访问实例变量就可以完成其功能,那么可以将其声明为
static
方法。静态方法可以通过类名直接调用,无需创建类的对象。如Math方法。1.2 不同的对象可能有不同的行为表现。非静态方法可以根据对象的不同状态表现出不同的行为。
1.3 不行,getName在调用的时候需要创建对象,且名字随着对象的变化而变化。
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
2.1 一般寻找语句中的动词和名词,根据题目提取出类,方法和属性。
(1)提取类
购物车(ShoppingCar)和商品(Product)
(2)提取属性
ShoppingCar类:
entry:存储购物车中商品的列表
Product类:
name:商品名称
price:商品价格
count:商品数量
(3)提取方法
ShoppingCar类:添加商品,移除商品,获得商品列表,计算商品总价
2.2 根据功能和职权判定,比如商品本身具有名称,价格和数量等属性因此属于Product类
3.一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
3.1 可以使用包来管理类。
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
1.变量命名
- 变量名要使用完整的英文单词,尽量不使用缩写,以方便他人或日后自己读懂代码。
2.类命名
- 类名应使用大写字母开头的完整英文单词,也不要使用缩写,确保看到类名能够清楚它的作用。
3.方法名
- 方法名应采用动词或动宾短语,首字母小写,后续单词首字母大写。
4.常量命名
- 常量名要全部大写,单词间使用下划线分隔。
5.包名
- 包名要全部采用小写字母,包含创建者、项目、模块等具体信息。
6.代码格式
- 代码块应当缩进 4 个空格,禁止使用 Tab 字符。
- 每行代码长度不宜过长,要保持在 120 个字符以内。
- 方法参数之间应用逗号分隔。
7.面向对象编程(OOP)规约(AI)
- 类应当尽可能使用组合而非继承的方式进行扩展。
- 类的设计应遵循单一职责原则,避免类过于庞大。
- 设计时应遵循 SOLID 原则:
- 单一职责原则
- 开放封闭原则
- 里氏替换原则
- 接口隔离原则
- 依赖倒置原则