第三周-自主学习任务-面向对象基础与类的识别
1. 什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
- 当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。
- 不用static修饰的方法的一定要先实例化一个对象然后才可以调用。
- Student的getName不用static修饰
2. 购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
- 找出相应的动词和名词,找出所要操作的对象,名词建立相应的类或属性,动词分析是否可以创建相应的方法。
3. 一个项目中有很多类。项目中要怎么管理这些代码呢?
- 根据不同的功能和种类进行分包,将功能相近的类放入同一包中。
4. 阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
- 变量命名:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束,常量命名全部大写。
- 类命名:对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部
的实现类用 Impl 的后缀与接口区别。类名如果有复数含义,类名可以使用复数形式。 - 方法命名:1)获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save/insert 做前缀。
5) 删除的方法用 remove/delete 做前缀。
6) 修改的方法用 update 做前缀。 - 常量命名:不允许任何魔法值(即未经定义的常量)直接出现在代码中。
- 包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用
单数形式。 - 代码格式:注释的双斜线与注释内容之间有且仅有一个空格,单行字符数限制不超过 120 个,超出需要换行。
- OOP规约:避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成
本,直接用类名来访问即可,所有的覆写方法,必须加@Override 注解。