课前问题
1、static通常修饰以通用的功能为目的,或者需要方便访问,不依赖于对象的方法;1.依赖于对象,使用前要先创建对象2.表示对象自己的行为,且会直接访问实例成员;static修饰getName的话,这个name也应该是static的,但也意味着所有学生都一个名字,所以Student的getName不应该用static修饰
2、讲故事,找出名词和动词,把名词作类或属性,把动词作方法;看方法在什么地方执行,比如清空或结算操作,在购物车中执行,就是购物车类中的方法;属性的话,代入类中看一下有没有,比如价格和名字,代入商品中,一看就是商品要有的。
3、放在不同的包下;一个对象一个包,或几个相似对象一个包,比如书的包下有书和BookList两个类,用户的包下有用户一个父类,管理员和普通用户两个子类
4、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束;代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式;杜绝完全不规范的缩写;为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意
变量命名:小驼峰风格
类命名:大驼峰风格;可以使用复数形式
方法命名:小驼峰风格
常量命名:常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词;包名统一使用单数形式
代码格式:
1.大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果
是非空代码块则:
1) 左大括号前不换行。
2) 左大括号后换行。
3) 右大括号前换行。
4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
2.左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。
3.if/for/while/switch/do 等保留字与括号之间都必须加空格。
4.任何二目、三目运算符的左右两边都需要加一个空格。
OOP规约:
1.避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。
2.所有的覆写方法,必须加@Override 注解。