• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:StrutsのCommonsLoggingについて質問です。)

StrutsのCommonsLoggingについて質問です

このQ&Aのポイント
  • Strutsでcommons loggingを使う際、ログインスタンスを取得する際には、private static Log log = LogFactory.getLog(this.getClass())、private Log log = LogFactory.getLog(this.getClass())、Log log = LogFactory.getLog(this.getClass())の3つの書き方があります。
  • しかし、private, staticがあるかないかによってログ出力するためにはどのような違いがあるのでしょうか?他のクラスからこの変数にアクセスがあるとは思えないので、なぜ必要なのか疑問です。
  • ネットで調べても分からず、教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#86752
noname#86752
回答No.1

privateをつけなければ、そのクラスの作成者の意図に関わらず、その変数にアクセスできます。 例えばあなたが大規模な開発に携わり、あなたが作ったクラスが会ったこともない人に使われるような場合、あなたがマニュアルやコメントに「この変数logにはアクセスしてはいけません」と書いても、どこかの誰かがそんなことを無視してアクセスしてしまいます。 loggingに限らずprivateとはそういうものを防ぐために行われます。(つまりloggingの問題ではなくJavaという言語がそういうことを防げるような仕組みを持っているということになります。)

blacksawa
質問者

お礼

どうもありがとうございます。 今回初めてJavaの開発に携わっているのですが、 自分の作っている画面だけを考えてなぜprivateが必要なのだろう???と思っていたのですが、すっきりしました。 どうもありがとうございました。