- PR -

servletでpublic staticのインナークラスをインスタンス化しても大丈夫ですか

1
投稿者投稿内容
ぶんぶん
会議室デビュー日: 2003/12/11
投稿数: 17
お住まい・勤務地: 東京・品川区
投稿日時: 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 ]
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2005-03-11 20:08
問題ないでしょう。
staticな入れ子クラスは名前空間が親クラスに属すること以外は
普通のトップレベルのクラスと違いがなかったと思いますよ。
ぶんぶん
会議室デビュー日: 2003/12/11
投稿数: 17
お住まい・勤務地: 東京・品川区
投稿日時: 2005-03-11 20:34
返答ありがとうございます。
ちょっと(かなり)不安になっていましたが、安心しました。

基礎部分にちょっと不安(忘れかけている?)を覚え始めました。
これを機に、もう一度勉強しようかと思います。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2005-03-12 06:38
引用:

ぶんぶんさんの書き込み (2005-03-11 20:34) より:
礎部分にちょっと不安(忘れかけている?)を覚え始めました。
これを機に、もう一度勉強しようかと思います。


既に解決済みですが、Effective Javaという(超有名ですね)書籍に
インナークラスの処方箋があったと思います。
他にもJavaプログラマの初級から中級へステップアップするのに
非常に有益な情報が多い書籍ですので、勉強にし直しにもお勧めです。

ぶんぶん
会議室デビュー日: 2003/12/11
投稿数: 17
お住まい・勤務地: 東京・品川区
投稿日時: 2005-03-13 13:27
YOU@ITさん、書籍をご紹介いただきありがとうございます。
書店で見かけた時は、少々うぬぼれが強く「これくらいは知っているつもり」でした。
しかし…あいまいになっている部分、動作したことによって「間違いはない」と思っている
部分、オブジェクト指向では望ましくない表現など、まだまだあるように思われます。
駆け出しであることを再認識させられました。
ぜひ、購入してみたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)