問題タブ [constructor-chaining]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
261 参照

java - コンストラクターの連鎖中に作成された Java Scanner オブジェクトを閉じる

コンストラクタ チェーンを使用していますが、リソース リークが発生していないか心配です。ここに私の2つのコンストラクタがあります:

Scanner通常はファイルから作成されますが、任意のタイプ (キーボード、ファイルなど)からオブジェクトを作成することが重要です。問題は、ここでリソース リークが発生していると思われることです。ファイルを読んでいるときはいつでも、読み終わったら閉じるのが好きです。問題は、コンストラクターの連鎖は、this()呼び出しが最初の行でなければならないことを意味します。私はこのようなことをする傾向があります:

Scanner私の心の中で、それは私がそれから閉じることができるの名前を私に与えるでしょう。しかし、それはコンパイラを本当に混乱させているようです.5つのコンパイル時エラーが発生します。これには、コンパイラがこの種のものに配線されていないことを意味する多くの「シンボルが見つかりません」という問題が含まれます。Java はこれをサポートしていますか? それとも、両方のコンストラクターが呼び出すまったく異なるinitFromScanner()関数を作成する必要がありますか? (エレガントではありません。)

ありがとう。