题目一:
a选项:重写(覆盖)了父类的方法,但是子类方法的访问修饰符是protected,降低了父类的访问权限。
b选项:参数类型不同,没有重写父类的方法,因此该子类方法合法。
c选项:参数类型不同,没有重写父类的方法,因此该子类方法合法。
d选项:重写了父类的方法,但是抛出的异常大于父类异常。
题目二:
floor:返回小于这个数的最大整数。
ceil:返回大于这个数的最小整数。
round:四舍五入。算法为Math.floor(x+0.5)。
rint:返回最接近这个数的整数。如果存在两个这样的整数,则返回其中的偶数。
min:返回两个值中较小的那个值。(两个值是同一种数字类型)
题目三:
执行完default语句之后,输出“default”;然后进入case 0,输出“zero”。由于加了break,所以停止往下执行。
题目四:
注:目标文件夹中不存在Hello.txt文件:
调用方法之后,捕获第一个异常,打印出“No such file found”。但是此时不return -1,JVM会保存其返回值;
然后finally,输出“Doing finally”,执行完成后,再返回-1。
变式:
若提前在方法体中声明一个局部变量i = -1,第一个catch语句返回的是i;finally中输出之后加上一句话:“Return i++:”。
则:
调用方法之后捕获第一个异常,打印出“No such file found”。但是此时不return i,JVM会保存其返回值i = -1;
然后finally,输出“Doing finally”,执行完成后,不返回i++(++后的i的值变为了0),而是返回捕获之后保存的i的值:-1。