我需要创建一个对象,我可以通过instanceof关键字进行检查。

喜欢

public class Example {
  private int create(GUIItemType type){
    if(type instanceof GUIItemTypeCommand){
      return 0;
    } else if (type instanceof GUIItemTypeSend){
      return 1;
    } else {
      return 2;
    }
  }
}


我需要用什么来创建那个? GUIItemTypeCommand类必须扩展GUIItemType类吗? GUIItemType类必须是抽象的吗?

最佳答案

您可以将GUIItemType创建为interface,然后使GUIItemTypeCommandGUIItemTypeSend实现它。

interface GUIItemType {
    // default methods, abstract methods, public static final variables
}

class GUIItemTypeCommand implements GUIItemType {

}

class GUIItemTypeSend implements GUIItemType {

}

10-04 14:35