软件构造期末复习-第三章

知识点:

  1. 静态类型检测/动态类型检测
  2. 可变性/不可变性
  3. Snapshot diagram

静态类型检测/动态类型检测

静态类型检测:

  • 语法错误
  • 类名/函数名错误
  • 参数数目错误
  • 参数类型错误
  • 返回值类型错误

动态类型错误:

  • 非法的参数值
  • 非法的返回值
  • 越界
  • 空指针

动态类型检测>静态
//动态类型检测比静态类型检测更加严格,

静态类型:关于类型
编译阶段的检测,主要是代码语法方面的错误,代码的正确性

动态类型:关于
运行时的报错,代码正确的前提下的用法错误,程序的正确性

考试重点:静态类型与动态类型检测的对比区分。

可变性/不可变性——程序的安全性

限定词:final
final的类无法被继承,
final的方法无法被重写
final的变量的值无法被改变 (应用)

不可变类型设计:不能用任何方法改变类中属性的值!

  • 当需要对变量进行频繁修改时,不可变类型需要进行大量的拷贝,使用可变类型能够提高效率。
  • 多个变量指向同一个数据时,其中一个变量的对数据值进行修改时,使用不可变类型不会影响到另一个变量。如果使用可变类型 会造成十分严重且难以察觉的错误!!!

考试重点:将可变的类改为不可变的类!

Snapshot diagram——程序运行时的内部状态

三维视图:run time/code/moment
值在栈上:(基本类型)

值在堆上:(对象类型)

  • 引用保存在栈中*
  • 不可变对象 —使用双线椭圆
  • 不可变引用—双线箭头
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值