本帖最后由 廉伟杰 于 2014-1-21 20:33 编辑
首先第一个问题,finally和final定不一样了,finally是异常的统一出口:不管try块程序是否异常,也不管哪个catch执行,finally块总会执行。
try语句块或会执行的catch语句块使用了JVM系统退出语句例外;//System.exit(1);
try块必须和 catch块或和finally同在,不能单独存在,二者必须出现一个。
不要在finally中使用return 或throw语句,否则将会导致try、catch中的return或throw失效。而final是修饰符。
关于你的第二个问题,
编译时的类型由声明变量时使用的类型决定,即编译类型由左边决定 运行类型由实际赋给变量的对象决定,即运行类型由右边决定 如 Person p = new Student(); 编译类型是Person 运行类型是Student 把运行类型当做是对象的实际的类型,也就是对象的真正的类型 把编译类型当做是,把对象看成什么类型 如:我把一个真正的学生对象看成一个人 希望我的回答对你有所帮助
|