1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
static
关键字用于修饰类的方法或属性。- 不用
static
修饰的方法要访问类或执行与类相关的操作,通常不能被类自身调用,而需要通过类的实例来调用。 - 不应该被声明为static。它是不是静态方法。因为
getName
方法通常用于获取特定学生实例的名称,这需要访问该学生实例的变量。
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
- 类:每个核心概念通常都代表了一个类。在购物车案例中,“购物车”和“商品”可能就是两个类。
- 方法:方法通常涉及到类的行为或操作。例如,“购物车”类可能有方法“添加商品”、“删除商品”、“更新数量”等,而“商品”类可能有方法“被购买”等。
- 属性:每个类都有一些特性或属性。例如,“购物车”可能有属性“总价”、“数量”等,而“商品”可能有属性“名称”、“价格”等。
- 要确定方法与属性属于哪个类,需要根据阅读问题描述,并结合上下文信息进行推理。如果描述中提到“当购物车中的商品被购买时”,那么“商品”的“被购买”方法可能属于“购物车”类。同样,描述中可能会提到“购物车中有一个商品”,那么“商品”的属性可能属于“购物车”类
3.一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
- 命名规范:制定一套合理的命名规范,即使类名相同,通过前缀也可以很清楚地分辨出它们属于不同的项目。
- 命名空间:在面向对象编程中,命名空间是一种非常重要的概念。它可以避免类名、函数名等之间的冲突。可以将所有的自己编写的类都放在同一个命名空间下,即使不同的项目中有同名的类,只要它们不在同一个命名空间下,就不会引起冲突。
- 包:包也是一种很好的管理类的方式。每个包都有自己的命名空间,可以有效避免类名的冲突。
对于项目中类的管理:
- 模块化:将相关的类组织在一起,形成一个模块。每个模块都有自己的职责和功能。
- 目录结构:对于大型的项目,需要使用多层的目录结构来管理类。
- 代码审查:定期进行代码审查,确保每个类都符合编码规范和风格。也可以保证代码的质量和一致性。
- 文档和注释:为每个类编写清晰的文档和注释,在阅读代码时可以更快地理解类的功能和用法。
- IDE工具:使用IDE工具可以帮助大大提高编写和管理代码的效率。
- 版本控制:使用版本控制系统可以管理代码的版本。
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面
1.变量命名:
- 使用小写字母和下划线的方式命名变量。
2.类命名:
- 使用大写字母和下划线的方式命名类。
3.方法命名:
- 使用小写字母和下划线的方式命名方法。
4.常量命名:
- 使用全大写字母和下划线的方式命名常量,例如
MAX_VALUE
。
5.包命名:
- 使用小写字母的方式命名包,例如
com.alibaba.app
。
6.代码格式:
- 使用4个空格或者Tab键作为缩进。
- 大括号的使用应该在同一行或者新的一行,不要使用混合方式。
- 每行代码的长度不应超过80个字符。
7.OOP规约:
- 避免在类中直接使用静态变量或静态方法。
- 避免在代码中使用过于复杂的嵌套结构。
- 避免使用全局变量,应该考虑使用参数传递或对象属性来传递信息。