1. 代码示例:
上面看到的第13行:
Date d = null;(这里必须初始化)
第14~20行使用try...catch...finally包含代码,这里的代码已经变成运行期代码。此时我们在编写代码,在编译期,这时候编译器是不能识别这些try...catch...finally包含代码,也就是说:如果上面没有Date d = null(初始化),下面的System.out.println(d)就会报错,因为编译器此时是屏蔽try...catch...finally包含的代码,编译器会认为d没有初始化,这里的d是不能使用System.out.println(d)。
修改后代码如下: