[英]determine whether a class's superclass implements a certain interface in java
让我知道我是否做错了,但根据我的经验,instanceof调用无法满足我的需要。
我有一个抽象类,该类实现一个接口并显式覆盖该接口中的所有方法。 我有一个此类的子类。 如何判断子类是否是接口的实例?
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的实例?
你可以做一个
IAnimal.class.isAssignableFrom(Beagle.class)
要么
IAnimal.class.isAssignableFrom(someObjectInstance.getClass());
甚至带有接口的作品实例
if (object instanceof IAnimal) { }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.