最近在代码开发过程中,总结了一下需要注意的几条规则:
1.对于try,catch块中应将较小异常放在较大异常前面。
public class Test {
double mul(double a,double b)
{
try{
return a/b;
}
catch(ArithmeticException ex){
return 0;
}
catch(Exception ex){
return 0;
}
finally{
}
}
}
如上所示,较小的异常应该catch在前面。
2.abstract和final不能同时使用。
抽象类不一定含有抽象方法,但是含有抽象方法的类一定是抽象类。抽象类不能被实例化(不能被new),需要用子类继承才能实例化,在这一点上与final修饰符矛盾,final修饰的部分是不能被继承的。
3.对于public类型的终态成员变量一般都加上static,以求节省内存。
4.final的值只能读,不能写。静态变量是被所有成员所共享的。
5.==和equals的区别:
说的太多了:
String类Object中的equals方法进行了重写(override),所以才能比较内容。==永远比较的是内存地址,String类中的equals方法才能判断内容。如果需要判断内容,除String外都需要重写equals方法。
6.关于数据和方法的可见性
修饰符级别 | 在同一类内可访问 | 在同一包内可访问 | 在子类内可访问 | 在不同包可访问 |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
(default) | √ | √ | ||
private | √ |
不使用修饰符,缺省表示允许同一个包的任何类直接访问类的成员。protected允许任何包中的子类(比default多出来的)和同一包中的类访问类的成员。