他有几个子类,A1,A2,A3,...
现在有一个函数叫做
do(A a);
然后他会对应某一种特定的子类来进行do(A1 a1)或者do(A2 a2)等等。
于是我在do(A a)中就要写
{
if (a instanceof A1) do((A1)a);
if (a instanceof A2) do((A2)a);
...
}
这样好麻烦。有没有好的方法?
我试过用Class类的cast方法,但是转换出来要求Class的泛型是要求的类,否则也转换出来是Object或者A,不是某一个Ai。
还是我没做对?