インスタンスメンバーの代わりに静的メンバーとしてBufferedReaderを使用する多くのJavaサンプルがあります。それはいくつかのベストプラクティスですか?いつ私はそれをするべきか、しないのですか?静的BufferedReader with System.in
答えて
私は、BufferedReaderをSystem.inで使用するときに閉じないでください。その場合、Javaでは再オープンできないためです。このシナリオでは、このプロパティを静的として宣言することは理にかなっています。
BufferedReader
を静的メンバーにすることは、標準的な考えではありません。それはちょうどあなたが望む動作に依存します。静的な方法でフィールドにアクセスする必要があるUtilsクラスのようなものであれば、それを静的にしてください。さもなければ、私はそれをインスタンス、あるいはより良いメソッドレベルの変数にすることに何の害も見ません。例えば
、一般的には春、休止状態、およびJavaにチュートリアルのトンを書き込みヨンジュンムックキムは、彼が非静的な方法でBufferedReader
にアクセスthis例を提供します。
私は静的が何よりも明確にするために使用されると仮定します。私はそれを何か別の方法でやる方が良いと言っている基準を知らない。どのくらいの頻度でアクセスしなければならないのか、それがなぜそのようにアクセスする必要があるのかによって異なります。
いくつかのベストプラクティスですか?
確かにそうではありません。それどころか、ほとんどの場合、最悪の場合はとみなされます。静的メンバーは細心の注意を払って使用する必要があります。メンバーは、正当な分析の後、本当に必要なときにのみ静的にすべきです。
私は、これらの著者は、いくつかのユーティリティスタティックルーチンを使用して、 'static void main'からBufferedReaderにアクセスできるようにするには、短期間しか取っていないと思います。 –
@AsadIqbal関連するコードを見ることなく、私は推測する気にしません。 – EJP
- 1. 閉じるBufferedReaderのとSystem.in
- 2. LocalDate with bufferedreader - java
- 3. スキャナinp =新しいスキャナ(新しいBufferedReader(新しいInputStreamReader(System.in)));
- 4. 静的Web with PHP
- 5. php静的カウントダウンwith filemtime
- 6. java.io.scanner(System.in)
- 7. Scanner + System.in stop condition
- 8. BufferedreaderとInputStreamReader
- 9. スイングコンポーネントにSystem.inをリダイレクト
- 10. BufferedReaderエラー
- 11. Java BufferedReaderのコンソールパラメータ
- 12. vue + webpack with electronic appでの静的資産への参照
- 13. ストーリーボードで静的セルを使用するUIView with Xcode 4.2
- 14. 'with'ステートメントで静的クラスをラップする方法
- 15. 静的クラスと静的メソッド
- 16. C++静的非静的
- 17. 静的ライブラリの静的メンバー
- 18. BufferedReaderが返さない
- 19. 近いスキャナ(System.in)した後、スキャナ(System.in)を作成しますが、正しく
- 20. -gccの静的オプション?
- 21. 算術静的変数エラー
- 22. Coffeescript静的解析/静的型チェック - ロードブロッキング
- 23. 静的変数内部の静的メソッド
- 24. 静的ライブラリ内の静的ライブラリ
- 25. 静的メソッドと非静的メソッド
- 26. 非静的メンバーの静的メンバー関数
- 27. 非静的から静的へ
- 28. 静的メソッドの静的変数
- 29. パブリック静的クラスのC#テストプライベート静的メソッド
- 30. 非静的フィールドは静的、コンテキストMainメソッド
このような例がありますか?そのような条約はありません。 –
実際には( 'BufferedReader'のように)' static'メソッドを使用した後に閉じなければならないオブジェクトを作ることはかなり悪い考えです。 – trutheality