OOP
规约:
、【强制】所有的 类属性必须使用包装数据类型:
原因:简单来说就是我们如果自定义了一个 类其中有一个属性是成绩 如果用
而不用 定义一次考试学生可能没考值是 也可能考了但考了 分值是 这
两个表达的状态明显不一样
、【强制】 方法的返回值和参数必须使用包装数据类型。
原因:比如显示成交总额涨跌情况,即正负 ,为基本数据类型,调用的 服务,调
用不成功时,返回的是默认值,页面显示:,这是不合理的,应该显示成中划线。所以
包装数据类型的 值,能够表示额外的信息,如:远程调用失败,异常退出。
、【推荐】所有的局部变量使用基本数据类型。
、【强制】定义 ! " 等 类时,不要设定任何属性默认值。
#、【强制】序列化类新增属性时,请不要修改 $"% 字段,避免反序列失败;
如果完全不兼容升级,避免反序列化混乱,那么请修改 $"% 值。
原因:注意 $"% 不一致会抛出序列化运行时异常。
&、【强制】 类必须写 方法。使用 ' 中的工具:($ 时,
如果继承了另一个 类,注意在前面加一下 )。
原因:在方法执行抛出异常时,可以直接调用 的 *+方法打印其属性值,便于
排查问题。
,、【强制】禁止在 类中,同时存在对应属性 的 -*+和 -*+方法。
说明: 框架在调用属性 的提取方法时,并不能确定哪个一是被优先调用到。
.、【推荐】使用索引访问用 的 ) 方法得到的数组时,需做最后一个分隔符后有无
内容的检查,否则会有抛 /0')1 的风险。
原因:23$435
67$82)*33+5
预期大于 ,结果是
89)*$8:+5
;、【推荐】当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一
起,便于阅读,此条规则优先于第 & 条规则。
【推荐】 类内方法定义的顺序依次是:公有方法或保护方法 (私有方法 (< < 方
法。
说明:公有方法是类的调用者和维护者最关心的方法,首屏展示最好;保护方法虽然只是
子类关心,也可能是“模板设计模式”下的核心方法;而私有方法外部一般不需要特别关心
是一个黑盒实现;因为承载的信息价值较低,所有 = 和 > 的 < < 方法放在
类体最后。
、【推荐】循环体内,字符串的连接方式,使用 0 的 $)) 方法进行扩展。
说明:下例中,反编译出的字节码文件显示每次循环都会 ? 出一个 0 对象,
然后进行 $)) 操作,最后通过 方法返回 对象,造成内存资源浪费。
原因:使用 $$2@#&A5
$$B2@,.;A5
与使用 02?0*@#&A+5
!$))*@,.;A+5
! 和 $$输出效果是一样的,但是第一种方法中要子内存中分配两次内存,而用第二种方
法时仅仅分配一次内存,$)) 操作时就在第一次分配的内存中完成,这样系统没有必要