【发布时间】:2015-11-24 14:01:16
【问题描述】:
我有这个代码:
public interface Type {
public static Type match(String string) {
try {
return TypeBuiltIn.valueOf(string.toUpperCase());
} catch (Exception e) {
return null;
}
}
}
我和教程中的某个人做同样的事情,对他来说效果很好,但我在match(String string) 上收到错误:
接口方法匹配的非法修饰符;只允许公开和摘要
我试图去除静电,但没有任何效果。它说我应该删除方法体,但是我该怎么办?
【问题讨论】:
-
您使用的是什么 Java 版本?
-
我对 Java 不太了解,但也许您应该将类型更改为 public 以外的其他类型,因为您使用的是 return?
-
确保使用 Java 8 进行编译。
-
interface标记为static的方法并不总是被允许的。使用 Java 8 编译。 -
另外,你不应该只捕获异常,这绝不是一个好习惯。我认为您需要在您的情况下捕获 EnumConstantNotFound。
标签: java eclipse methods interface