我有三个类ClassA,ClassB和ClassC。这三个类都实现了“ ClassInterface”接口。

class ClassA<T> implements ClassInterface<T>{}

class ClassB<T> implements ClassInterface<T>{}

class ClassC<T> implements ClassInterface<T>{}


我在其他类ClassD中有方法:

void methodname(ClassInterface<T> CI[]){}


在方法中,我需要找到每个元素属于哪个类?即CI [i]是否属于ClassA,ClassB或ClassC?

我尝试过“ instacneof”,但它给了我错误。我不知道我的方法是否正确

最佳答案

那将是一个糟糕的设计想法!您本质上是“向上投射”。将参数作为接口传递的全部目的是,被调用的方法不应知道或不在乎实现类是什么。

10-05 23:02