groovy enum에 인터페이스를 추가 할 수 없습니다.groovy enums에 인터페이스를 추가 하시겠습니까?
예 :
인터페이스 DeviceType.groovy
public interface DeviceType{
public String getDevice()
}
열거 Device.groovy
public enum Devices implements DeviceType {
PHONE{
public String getDevice(){
return "PHONE"
}
}, ALARM {
public String getDevice(){
return "ALARM"
}
}
}
간단한 테스트
public class MainTest(){
public static void main(String [] args) {
System.out.println(Devices.PHONE.getDevice());
//should print phone
}
}
이 의사 코드이지만, 꽤 좋은 예. Groovy와 함께 사용하면 IntelliJ에서 인터페이스를 추상화해야한다는 오류가 발생합니다. 내가 추상화하면, maven은 정적이 아니고 최종 적이 될 수 없다는 컴파일을하지 않을 것이다.
팁이 있습니까?
참고 : Devices.PHONE.getDevice(); – Will
이것은 확실히 mvn 테스트로 maven에서 중단됩니다. – Will
오류 : (23, 1) Groovyc : 비 추상적 클래스에서 추상 메서드를 사용할 수 없습니다. 'xxx'클래스는 abstract로 선언되거나 'getDevice()'메소드가 구현되어야합니다. – Will