如果我错了,请告诉我,但根据我的经验,电话的实例并不能满足我的需要。
我有一个抽象类,它实现了一个接口并显式覆盖了接口中的所有方法。我有这个类的子类。如何判断子类是否是接口的实例?
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
}
}
所以我有Beagle的实例化,我怎么知道它是否是IAnimal的一个实例?
答案 0 :(得分:1)
你可以做一个
IAnimal.class.isAssignableFrom(Beagle.class)
或
IAnimal.class.isAssignableFrom(someObjectInstance.getClass());
甚至是带有接口
的实例if (object instanceof IAnimal) { }