编写高质量代码06--16

本文探讨了Java中覆写方法的最佳实践,包括遵循的规则和常见错误的防范。同时,深入剖析了自增操作的陷阱及其解决方案,帮助开发者编写更高效、更安全的代码。

编写高质量代码06--16



建议06 覆写变长方法也循规蹈矩

Java中覆写必须满足以下条件:

重写方法不能缩写访问权限;

参数列表必须与被重写方法相同;

访问类型必须与被重写方法的相同或是其子类;

重写方法不能抛出新的异常,或者超出父类范围的异常,但是可以抛出更少,更有限的异常,或者不抛出异常;

void fun(int price,int...discounts){}  //父类中

void fun(int price,int[] discounts){}  //子类中


建议7:警惕自增的陷阱

int count=0;
for(int i=0;i<10;i++){
     count=count++;
}
System.out.println(count);

最后结果输出为0;而不是10

原因在于count++是一个表达式,是有返回值的,它的返回值就是count自增前的值,Java对自增是这样处理的,首先把count的值(不是应用)拷贝到一个临时变量区,然后对count变量加1,最后返回临时变量区的值。

详细处理步骤如下:

1,JVM把count值,也就是0拷贝到临时变量区;

2.count加1,这时候count变为1;

3.返回临时变量区的值,注意这个值是0,没修改过;

4,返回值赋给count,count又变为0;

改进:count=count++变为count=count+1


建议8:不要让旧语法困扰你

建议9:少用静态导入

建议10:不要在本类中覆盖静态导入的变量和方法

建议11:养成好习惯,显式声明UID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值