我觉得修改名字应该不用重新添加一条记录吧,可以直接用set啊
System.out.println("要修改成:");
String newName = scanner.next();
stu.setName(newName);
System.out.println("要修改成:");
String newName = scanner.next();
stu.setName(newName);
2016-08-26
Throwable是异常始祖有两个二子Error和Exception,Error出现时就是不可处理的问题,Exception有很多儿子其中runtimeException和Exception是比较常用的异常
2016-08-26
...接前
执行过程
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
这讲的挺清楚的啊。。。。。比我们大学里的java老师好到不知道哪去,说这个老师讲的不清楚的人没仔细看吧。。。。。。。
2016-08-24