对于此示例:
public class Foo{}
public class Bar extends Foo{}
....
void myMethod(Foo qux){
if (checkInstance(qux,Foo.class)){
....
}
}
如何检查qux
Foo的实例(而不是其foo子类的实例)?那是:
是否有类似instanceof
这种检查的声明?否则我应该使用qux.getClass().equals(Foo.class)
如果必须这样做,则唯一的方法就是getClass().equals(Foo.class)
建议的选项。
但是,OO设计的目标是允许您以相同的方式对待任何对象 Foo
。实例是否为子类在正常程序中应该无关紧要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句