繁体   English   中英

Java Access Enum具体方法?

[英]Java Access Enum specific methods?

我这样创建了一个枚举:

enum Types { hi, hello, bye }

我在每个单独的枚举中添加了一个 getter,如下所示:

enum Types {
    hi {
        String test = "From hi";
        public String getString() {
        return test;
    },
    etc.
}

除了我不能调用“Types.hi.getString()”。 有什么办法吗? 谢谢!

在您的枚举 class 中,将您要访问的方法定义为public abstract

像这样:

 enum Types {
      hi {
        public String getString() {
          return "From hi";
        }
      };

      public abstract String getString();
  }

作为替代方案,让您的枚举 class 实现一个接口:

public interface StringProvider {
     String getString();
}

public enum Types implements StringProvider {
  ...
}

方法和字段声明应在枚举(即类型)内的 go。 hi, bye 和 hello 是类型的实例。

你做的不完全正确。
Sun 有一份关于如何在枚举中包含方法和字段的文档。 这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM