...接前
执行过程
1.执行try块中语句
2.有异常进catch块执行.没异常忽略此步.
3.执行finally中语句.
4.finally不是被return调用且没有return,执行try catch块之外语句,一直到函数结束.
5.finally不是被return调用,但有return,直接返回.
6.finally是被return调用,执行完finally后结束函数.
执行过程
1.执行try块中语句
2.有异常进catch块执行.没异常忽略此步.
3.执行finally中语句.
4.finally不是被return调用且没有return,执行try catch块之外语句,一直到函数结束.
5.finally不是被return调用,但有return,直接返回.
6.finally是被return调用,执行完finally后结束函数.
2016-08-25
个人理解.实践后总结.
针对int test()类型的函数,要保证每种执行可能都有返回值.
因为不管有没有异常,finally都会被执行.所以
只要finally有可能会被return后调用,那么finally中就不可以有return语句.
只要finally有可能不是被return后调用的,那么在try/catch块之外还可以有语句,且必须要有return;
只要finally总是被return后调用,那么try/catch块外的任何代码都是非法的Unreachable code.
后续...
针对int test()类型的函数,要保证每种执行可能都有返回值.
因为不管有没有异常,finally都会被执行.所以
只要finally有可能会被return后调用,那么finally中就不可以有return语句.
只要finally有可能不是被return后调用的,那么在try/catch块之外还可以有语句,且必须要有return;
只要finally总是被return后调用,那么try/catch块外的任何代码都是非法的Unreachable code.
后续...
2016-08-25
已采纳回答 / 慕妹4570734
Course[] course = {new Course("3","离散数学"),new Course("4","汇编语言")}; coursesToSelect.addAll(Arrays.asList(course)); Course temp3 = (Course)coursesToSelect.get(3); Course temp4 = (Course)coursesToSelect.get(4); //System.out.print...
2016-08-25
已采纳回答 / 愚蠢的猪
简单点说吧 this.courseToSelect=new ArrayList() 这里的this就是调用List类型的courseToSelect进行初始化,就是进行赋值。而courseToSelect就是List接口定义的变量名,List是接口 你可以去查查JDk
2016-08-24
这讲的挺清楚的啊。。。。。比我们大学里的java老师好到不知道哪去,说这个老师讲的不清楚的人没仔细看吧。。。。。。。
2016-08-24
Exception in thread "main" java.lang.NullPointerException
at com.imooc.SetTest.testSetContains(SetTest.java:135)
at com.imooc.SetTest.main(SetTest.java:150)
求解
at com.imooc.SetTest.testSetContains(SetTest.java:135)
at com.imooc.SetTest.main(SetTest.java:150)
求解
2016-08-24
表纠结老师有没有讲清楚嘛,不同人有不同理解。而且我觉得有同学找不足的能让我们认识更加深刻
2016-08-24
已采纳回答 / qq__2247
<...code...>