0
让我知道如果我错了,但以我的经验来说,instanceof调用没有做到我需要的。确定一个类的超类是否实现了java中的某个接口
我有一个抽象类,它实现了一个接口并显式覆盖了接口中的所有方法。我有这个类的一个子类。我如何知道子类是否是接口的一个实例?
public interface IAnimal {
public void eat();
}
public abstract class Dog implements IAnimal {
@Override
public void eat(){
//eat things
}
public abstract void bark();
}
public class Beagle extends Dog {
@Override
public void bark(){
//specific bark
}
}
所以,我有小猎犬的一个实例,如何才能知道它是否是IAnimal的实例?
一个
或
甚至实例'instanceof'是你在找什么。你为什么认为它没有做你想要的? – jtahlborn 2013-04-24 00:42:50
你有与我不同的经历。 – 2013-04-24 00:44:09
你可以调用object.getSuperclass()。getInterfaces(),但instanceof应该足够了 – 2013-04-24 00:45:46