软件构造课程讲述进入尾声,复习阶段想到了老师上课重点讲述的两对横向对比,今天来做一个总结。
Override与Overload
override:重写。顾名思义,就是对一个方法的另一种实现,同样的函数名,同样的参数,同样的类型的返回值(JDK1.5之后可以不同),调用时通过识别不同的对象,来调用重写的方法。
overload:重载。重载是对于同一个对象的同一个方法,我可以修改参数的数量,返回值的类型,但是函数名不修改,通过传入的参数不同,让编译器来识别具体调用的是哪一种方法。
Checked Exception 与 Unchecked Exception
首先,我们应该知道这二者是什么?
在我们的程序中,总会出现各种各样的异常,当我们代码的正确性出现问题时,这时编译器并不会帮你检查这种类型的异常(Errors and Runtime Exceptions),我们如果想要程序运行下去,只能自己将代码修改正确,这种类型的异常就称为Checked Exception。而对于Unchecked类型,我们可以从整体的角度考虑,程序出现的error和exception都是throwable的子类,只要我们知道了Checked类型,那么其他的便是Unchecked类型,例如,数组越界访问,空对象访问等。这类异常,我们可以通过try catch finally来让编译器检测并处理,从而反馈给客户端。