我有n个对象,在根据特定条件执行时我需要其中的任何一个。例如。

switch(condition)
{
   case 1:
       Object1 obj = new Object1();
   break;
   case 2:
       Object2 obj = new Object2();
   break;
   default:
       defaultObject obj = new defaultObject();
   break;
}
int getItem = obj.getItemFromObject();


我在代码的许多其他地方都使用了obj对象。
我知道这个问题看似微不足道,甚至愚蠢,但请帮助我。或指导我采取另一种方法。

最佳答案

一种方法是使用超类声明子类变量。例如。如果要使用P,Q或R类的对象,请使用超类A。

P, Q, R will all extend A

这是一些(未经测试的)代码:

A obj = null;
switch(condition)
{
   case 1:
       obj = new P();
       break;
   case 2:
       obj = new Q();
       break;
   default:
       obj = new R();
       break;
}

07-24 09:47
查看更多