1. 什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
- static一般应用于修饰成员变量、修饰成员方法等。当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。
- 若没有被static修饰过的方法需要先实例化一个对象后才可以被调用。
- 不应该,因为如果用了static那么其他的文件就不可以用这个学生的名字了,但是学生文件应该是给很多文件都可以调用的,所以不应该。
2. 购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
- 先使用文字将所需系统及其功能描述出来,再找出相应的名词和动词。
- 根据名词创建相应的类或属性,比如根据商品的名字分类;可根据动词创建方法或某一类的方法,比如给商品付款等行为分类。
- 方法与属性到底属于哪个类,需要判断某一个类里是否有相应的方法或者属性。
3. 一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
放在不同的包中,用包管理。
4. 阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
- 变量命名:只使用字母数字下划线和美元符号,遵循驼峰命名法,命名均不能以下划线或美元符号开始或结束,变量名不能为JAVA关键字。
- 常量命名:常量命名全部大写,单词间用下划线隔开。
- 类名:使用 UpperCamelCase 风格,必须遵从驼峰形式。
- 方法命名:使用 lowerCamelCase 风格,必须遵从驼峰形式。
- 代码格式:括号的用法、换行规则。代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方法。
- 包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
- OOP规约: 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 所有的覆写方法,必须加@Override 注解。 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。