一尘不染

如何检查对象是否实现了接口?

java

如何检查某个类是否实现接口?当有:

Character.Gorgon gor = new Character.Gorgon();

如何检查是否gor实现Monster接口?

public interface Monster {

    public int getLevel();

    public int level = 1;
}

public class Character {
    public static class Gorgon extends Character implements Monster {
        public int level;
        @Override
        public int getLevel() { return level; }

        public Gorgon() {
            type = "Gorgon";
        }
    }
}

该方法是否getLevel()Gorgon正确覆盖,因此可以返回levelgor创建的方法?


阅读 177

收藏
2020-12-03

共1个答案

一尘不染

对于一个实例

Character.Gorgon gor = new Character.Gorgon();

然后做

gor instanceof Monster

对于Class实例

Class<?> clazz = Character.Gorgon.class;
Monster.class.isAssignableFrom(clazz);
2020-12-03