课前问题列表
1、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
答:(1)当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static,用static修饰的方法可以用类名直接调用,不用的一定要下实例化一个对象然后才可以调用。
(2)没有用static 修饰的方法只能通过(变量名.方法名)来调用
(3)不应该。
2、购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
答:(1)用一段文字描述所要设计的系统及其功能,找出其中的名词和动词;对于类和属性,应该考虑名词,即购物车中的商品;对于方法,则考虑动词。
(2)需要判定该类是否具有这种属性和方法,即“商品的生产日期、成分内容”中可见“生产日期”和“成分内容”是商品这个类的属性。
3、一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明
答:根据不同的功能和种类进行分包,将同一类的类放入同一软件包下,这样可以防止冲突,即使要调用其他包也是很方便。例如:Novel、Biography等可以放入Book这一包中。
4、阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
答:
变量命名:(1)代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束
(2)代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
类命名:类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
方法命名:方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。
常量命名:常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。
代码格式:如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果 是非空代码块则:
1) 左大括号前不换行。
2) 左大括号后换行。
3) 右大括号前换行。
4) 右大括号后还有 else 等代码则不换行; 表示终止的右大括号后必须换行