一数据类型
1.静态动态数据类型
2.类型检查
静态检查和动态检查
静态类型检测是在程序运行前,比如IDE就可以做这样的工作,动态类型检测是在代码运行过程中。
类型不匹配
类型转换
静态检查
动态检查
例如除以零、索引越界、空对象(类似C语言的空指针)
很多变量的值只有运行时才知道,这就需要用到动态检查。
3.可变性与不可变性
不变性
final关键字对不可变引用提供了静态检查的支持,建议利用final来声明方法的参数和局部变量。
final class表示它不能被继承,final method表示它不能被重写。
不可变的对象:一旦创建,总是表示相同值。
可变的对象:它们的方法可以修改对象的值。
可变类型的优点