Java 如何检查对象是否实现了接口?
如何检查某个类是否实现了接口? 当有:Java 如何检查对象是否实现了接口?,java,oop,interface,Java,Oop,Interface,如何检查某个类是否实现了接口? 当有: Character.Gorgon gor=新字符.Gorgon() 如何检查gor是否实现Monster接口 public interface Monster { public int getLevel(); public int level = 1; } public class Character { public static class Gorgon extends Character implements Monst
Character.Gorgon gor=新字符.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
中被正确重写,因此它可以返回新创建的gor
的level
Character.Gorgon gor = new Character.Gorgon();
那就做吧
gor instanceof Monster
对于类实例,请执行以下操作:
Class<?> clazz = Character.Gorgon.class;
Monster.class.isAssignableFrom(clazz);
Class clazz=Character.Gorgon.Class;
Monster.class.isAssignableFrom(clazz);
使用
如果您需要类似于public void doSomething([Object implements Serializable])
的方法,您可以像这样键入它public void doSomething(Serializable Serializable Object)
。现在,您可以将实现Serializable的任何对象传递给它,但使用serializableObject
您只能从Serializable接口访问对象中实现的方法。通常对于任何类的接口和立场
:
AnInterface.class.isAssignableFrom(anInstance.getClass());
我想您需要instanceof关键字。方法参数public void doSomething([Object implements Serializable]param)
如何?正确的语法是什么?是的,…isAssignableFrom()
,确定蛇发石的唯一方法是怪物。
AnInterface.class.isAssignableFrom(anInstance.getClass());