软件构造第三章几个知识点HIT
基本数据类型+对象数据类型
基本数据类型:
1.不可变对象
2.成本低
3.在栈上存在
如int long boolean…
这几种基本数据类型在Java中都有对应的对象形式(如Integer)
对象数据类型
1.有可变的,有不可变的。
2.存储在堆上
(PS:类中的静态成员变量存储在堆中)
静态类型检查+动态类型检查
静态类型检查:在编译时检查BUG(避免因使用错误类型而产生的bug)
类别例如
1.wrong names:Math.sine(2);
2.wrong number of arguments: Math.sin(30,20);
3.wrong argument types:Math.sin(“30”);
4.wrong return types
动态类型检查:非法参数,超出范围的索引值,调用空对象时的方法,针对由特定值引发的错误
防御性拷贝
在检查参数的有效性前进行,并且在有效性检查针对拷贝之后的对象,而不是原始对象