一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
1.应该用static修饰的方法通常是那些不需要用到对象自己的数据,也不需要创建对象就能用的方法。
2.不用static修饰的方法需要创建一个对象来用,这些方法通常要操作对象的属性或调用其他非静态方法。
3.不应该。因为每个学生对象都有自己的名字,这个方法需要访问学生的名字。
二、购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
1.识别类、方法和属性通常是通过理解需求来做的。比如,购物车案例中CartItem(商品项)、ShoppingCart(购物车)这样的类。
方法是类能做的事情,比如addItem(添加商品到购物车)。
属性是类拥有的信息,比如CartItem的price(价格)。
2.方法通常属于执行该操作的实体所属的类;属性属于拥有该数据的实体所属的类。
三、一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
1.可以使用不同的包(package)来避免。
2.将功能相关的类放在同一个包中,如所有与用户相关的类都放在user包中,更易于管理。
四、阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
1.变量命名:不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
2.类命名:使用 UpperCamelCase 风格,必须遵从驼峰形式(如:MarcoPolo)。
3.方法命名:统一使用 lowerCamelCase 风格,必须遵从驼峰形式(如:localValue)。
4.常量命名:常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长(MAX_STOCK_COUNT)。
5.包命名:(1)统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。(2)统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
6.代码格式:if/for/while/switch/do 等保留字与括号之间都必须加空格。
7.OOP规约:不能使用过时的类或方法。