使用System.in的静态BufferedReader

时间:2012-04-10 02:25:28

标签: java

我看到很多Java样本使用BufferedReader作为静态成员而不是实例成员。这是最好的做法吗?我何时应该或不应该这样做?

4 个答案:

答案 0 :(得分:2)

  

这是最佳做法吗?

当然不是。相反,在大多数情况下,它将被视为最差实践。静态成员需要非常谨慎地使用;在经过适当的分析之后,成员只有在真正需要时才应该是静态的。

答案 1 :(得分:0)

我认为让BufferedReader成为静态成员并不是一种标准。它只取决于你想要的行为。如果它在某种类型的Utils类中需要以静态方式访问其字段,那么将其设置为静态。否则,我认为将其作为实例或更好的方法级变量没有任何损害。

例如,一般在Spring,Hibernate和Java上编写 ton 教程的Yong Mook Kim提供了this示例,他访问了BufferedReader非静态方式。

答案 2 :(得分:0)

我认为静态比任何东西都更清晰。我不知道有任何标准表明以这种或那种方式做得更好。我想这取决于你需要以这种方式访问​​它的频率和原因。

答案 3 :(得分:0)

我发现BufferedReader在与System.in一起使用时不应该关闭的情况;因为在那种情况下Java不允许重新打开它。在这种情况下,将此属性声明为静态是有意义的。