【java小白入门系列】各个类之间Scanner的关闭有没有关系

在一个类中的主函数如下

另一个类中的方法如下

此时第二个类中Scanner是没有关闭的

所以实行的时候会两个值都输出 

如下

但是!!!!!!!!!!!!!!!!!!!!

当第二个类中的Scanner关闭的时候

就会出现下面的结果

结果:

会发生NoSuchElementException例外

这就是因为在第二个类中先行关闭了Scanner

所以回到主函数要进行输入的时候 

输入流已经被关闭 

无法输入

输出例外。

像这样的从控制台过来的输入流只要在一次运行中关闭过一次

同一运行中再打开的时候就会抛出异常

但是如果是读取文件那样的方式使用流的话只要使用完了就可以关闭

在别的地方再想使用的时候就重新New一个就好了

以上(因为是初学者所以随时欢迎各路英雄好汉的意见及建议)

猜你喜欢

转载自www.cnblogs.com/lileizack/p/11166705.html