2012-04-10 4 views
1

インスタンスメンバーの代わりに静的メンバーとしてBufferedReaderを使用する多くのJavaサンプルがあります。それはいくつかのベストプラクティスですか?いつ私はそれをするべきか、しないのですか?静的BufferedReader with System.in

+2

このような例がありますか?そのような条約はありません。 –

+0

実際には( 'BufferedReader'のように)' static'メソッドを使用した後に閉じなければならないオブジェクトを作ることはかなり悪い考えです。 – trutheality

答えて

0

私は、BufferedReaderをSystem.inで使用するときに閉じないでください。その場合、Javaでは再オープンできないためです。このシナリオでは、このプロパティを静的として宣言することは理にかなっています。

0

BufferedReaderを静的メンバーにすることは、標準的な考えではありません。それはちょうどあなたが望む動作に依存します。静的な方法でフィールドにアクセスする必要があるUtilsクラスのようなものであれば、それを静的にしてください。さもなければ、私はそれをインスタンス、あるいはより良いメソッドレベルの変数にすることに何の害も見ません。例えば

、一般的には春、休止状態、およびJavaにチュートリアルのトンを書き込みヨンジュンムックキムは、彼が非静的な方法でBufferedReaderにアクセスthis例を提供します。

0

私は静的が何よりも明確にするために使用されると仮定します。私はそれを何か別の方法でやる方が良いと言っている基準を知らない。どのくらいの頻度でアクセスしなければならないのか、それがなぜそのようにアクセスする必要があるのか​​によって異なります。

2

いくつかのベストプラクティスですか?

確かにそうではありません。それどころか、ほとんどの場合、最悪の場合はとみなされます。静的メンバーは細心の注意を払って使用する必要があります。メンバーは、正当な分析の後、本当に必要なときにのみ静的にすべきです。

+0

私は、これらの著者は、いくつかのユーティリティスタティックルーチンを使用して、 'static void main'からBufferedReaderにアクセスできるようにするには、短期間しか取っていないと思います。 –

+0

@AsadIqbal関連するコードを見ることなく、私は推測する気にしません。 – EJP

関連する問題