-3

重複の可能性:
Java で変数から新しいクラスを作成する

こんなシチュエーションもありましたが、

 String className;

 if(someCondition){

 className="A";

   }
 else{
   className='B'
  }

これを動的に実行したい

 className obj=(className) dbObj;//i am typcasting the db casting to particular class

注:ここでは、同じセッターとゲッターを持つAクラスとBクラスが、dbの2つの異なるテーブルに属しています

4

2 に答える 2

2

from create-new-class-from-a-variable-in-java

これはあなたがしたいことです:

String className = "A"; //or "B"
Object xyz = Class.forName(className).newInstance();

Class.forName()を見てください

于 2013-01-22T06:37:25.980 に答える
0

デザインを少し変更する必要があります。

両方のクラスABは同じインターフェースを実装する必要があります。

interface IAB {
}

class A implements IAB {
}

class B implements IAB {
}

次に、コードを次のように変更します。

IAB className;

if(someCondition) {
    className = (A) dbObj;
}
else {
    className = (B) dbObj;
}

また

classname = (someCondition ? A : B) dbObj;
于 2013-01-22T06:41:55.383 に答える