面向对象基础与类的识别

1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?

当一个方法需要初始化加载或者经常被调用的时候可以加上 static,不用static修饰的方法需要实例化一个对象后才调用,不应该。

2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?

用文字将案例的系统及功能描绘后,找出其中的名词和动词。名词可以创建相应的类,或者是某个类的属性。动词可以当作方法,或者哪一个类的方法。方法与属性到底属于哪个类,需要判断某一个类里是否有相应的方法或者属性。

3.一个项目中有很多类。项目中要怎么管理这些代码呢?

使用package来管理类并将类进行分类。

4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。

1.所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

2.所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

3.类名使用 UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / DTO / VO / DAO等。

4.方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase风格,必须遵从驼峰形式。

5.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

6.不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。

7.long或者 Long初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1混淆,造成误解。

8.不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如:缓存相关的常量放在类:CacheConsts下;系统配置相关的常量放在类:ConfigConsts下。

9.大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:

1) 左大括号前不换行。

2) 左大括号后换行。

3) 右大括号前换行。

4) 右大括号后还有 else等代码则不换行;表示终止右大括号后必须换行。

2.  左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格。详见第 5条下方正例提示。

3. if/for/while/switch/do等保留字与左右括号之间都必须加空格。

4.任何运算符左右必须加一个空格。

说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号、三目运行符等。

10.代码块缩进 4个空格,如果使用 tab缩进,请设置成 1个 tab为 4个空格。

11.避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。

12.所有的覆写方法,必须加@Override注解。

13.相同参数类型,相同业务含义,才可以使用 Java的可变参数,避免使用 Object。

14.类成员与方法访问控制从严:

1) 如果不允许外部直接通过 new来创建对象,那么构造方法必须是 private。

2) 工具类不允许有 public或 default构造方法。

3) 类非 static成员变量并且与子类共享,必须是 protected。

4) 类非 static成员变量并且仅在本类使用,必须是 private。

5) 类 static成员变量如果仅在本类使用,必须是 private。

6) 若是 static成员变量,必须考虑是否为 final。

7) 类成员方法只供类内部调用,必须是 private。

8) 类成员方法只对继承类公开,那么限制为 protected。

说明:任何类、方法、参数、变量,严控访问范围。过宽泛的访问范围,不利于模块解耦。思考:如果是一个 private的方法,想删除就删除,可是一个 public的 Service方法,或者一

个 public的成员变量,删除一下,不得手心冒点汗吗?变量像自己的小孩,尽量在自己的视线内,变量作用域太大,如果无限制的到处跑,那么你会担心的。

15.当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起,便于阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值