gpt4 book ai didi

java - java中判断一个类的父类(super class)是否实现了某个接口(interface)

转载 作者:行者123 更新时间:2023-12-01 14:39:02 25 4
gpt4 key购买 nike

如果我错了,请告诉我,但根据我的经验,instanceof 调用没有执行我需要的操作。

我有一个抽象类,它实现一个接口(interface)并显式覆盖该接口(interface)中的所有方法。我有这个类的一个子类。如何判断子类是否是接口(interface)的实例?

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());

甚至是使用接口(interface)的实例

if (object instanceof IAnimal) { }

关于java - java中判断一个类的父类(super class)是否实现了某个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com