- - PR -
servletでpublic staticのインナークラスをインスタンス化しても大丈夫ですか
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-03-11 19:23
servletで実行する場合、以下のようなソースは問題ないでしょうか。
(かなり省略してますが) public class A{ public static class B{ private int b1 = 0; private B(int b1){ this.b1 = b1+1; <--何らかの加工 } public int getB1(){ return b1; } } public B method1(int c){ return new B(c); } : : クラスB は static です。 複数クライアントでmethod1()を同時に呼び出した場合、 一時的にでも共有することになる?と思ったのですが… でも、呼び出すときには new B(c) としていますので、 問題は無いようにも思います。 今までは無事(見た目上?)動作していますが、 修正したほうが良いでしょうか? [ メッセージ編集済み 編集者: ぶんぶん 編集日時 2005-03-11 19:25 ] [ メッセージ編集済み 編集者: ぶんぶん 編集日時 2005-03-11 19:32 ] | ||||
|
投稿日時: 2005-03-11 20:08
問題ないでしょう。
staticな入れ子クラスは名前空間が親クラスに属すること以外は 普通のトップレベルのクラスと違いがなかったと思いますよ。 | ||||
|
投稿日時: 2005-03-11 20:34
返答ありがとうございます。
ちょっと(かなり)不安になっていましたが、安心しました。 基礎部分にちょっと不安(忘れかけている?)を覚え始めました。 これを機に、もう一度勉強しようかと思います。 | ||||
|
投稿日時: 2005-03-12 06:38
既に解決済みですが、Effective Javaという(超有名ですね)書籍に インナークラスの処方箋があったと思います。 他にもJavaプログラマの初級から中級へステップアップするのに 非常に有益な情報が多い書籍ですので、勉強にし直しにもお勧めです。 | ||||
|
投稿日時: 2005-03-13 13:27
YOU@ITさん、書籍をご紹介いただきありがとうございます。
書店で見かけた時は、少々うぬぼれが強く「これくらいは知っているつもり」でした。 しかし…あいまいになっている部分、動作したことによって「間違いはない」と思っている 部分、オブジェクト指向では望ましくない表現など、まだまだあるように思われます。 駆け出しであることを再認識させられました。 ぜひ、購入してみたいと思います。 |
1