음을 예외 처리와 인터페이스에 정적 필드를 초기화 제대로 처리되지 않았습니다. 하지만 정적 블록을 인터페이스에 넣을 수는 없습니다. Enum을 만들려고 생각 했었지만 어쩌면이 문제에 이미 직면 한 사람이있을 수 있습니다. 사실 인터페이스를 사용해야하기 때문에이 정적 필드를 클래스에 넣을 기회는 아닙니다.사실 나는 인터페이스에서 다음을 수행하고 싶습니다
미리 감사드립니다.
음을 예외 처리와 인터페이스에 정적 필드를 초기화 제대로 처리되지 않았습니다. 하지만 정적 블록을 인터페이스에 넣을 수는 없습니다. Enum을 만들려고 생각 했었지만 어쩌면이 문제에 이미 직면 한 사람이있을 수 있습니다. 사실 인터페이스를 사용해야하기 때문에이 정적 필드를 클래스에 넣을 기회는 아닙니다.사실 나는 인터페이스에서 다음을 수행하고 싶습니다
미리 감사드립니다.
간접적 인 방법으로 처리 할 수 있습니다. (코드는 테스트되지 않았습니다.)
public interface ObjectMethods
{
public static class CONSTANTS
{
static final Method getModulus ;
static
{
try
{
getModulus = RSAPublicKey.class.getMethod("setModulus", byte[].class, short.class, short.class);
}
catch (Exception cause) { //handle it }
}
}
}
예외를 삼키는 try/catch 블록으로 로직을 래핑하는 정적 도우미 클래스를 만들 수 있습니까?
public static class ObjectMethodHelper
{
public static Method getModulusMethod() {
try {
return RSAPublicKey.class.getMethod("setModulus", byte[].class, short.class, short.class);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
public interface ObjectMethods
{
static Method getModulus = ObjectMethodHelper.getModulusMethod();
}
당신의 애정을 많이 줘서 고마워하지만, 나는에 모리의 접근 방식을 선호한다고 생각합니다. =) – mozi
어떻게 할당할까요? getModulus = ObjectMethodHelper.getModulusMethod(); 여기서 public static void getModulusMethod()의 리턴 유형은 무효입니다. –
@AbhijitChakra : 잘 잡으세요. 결정된. – StriplingWarrior
왜 인터페이스를 사용해야합니까? 이것은 거의 유용한 요구 사항처럼 들리지 않습니다 ... 이것은 심각한 응용 프로그램 코드입니다. 어쨌든 인터페이스에 넣을 것은 아무것도 없다. –
@pvblivs 내 응용 프로그램/프레임 워크를 "디자인"했을 때 나는 inferface가 있기로 결정했다. 그것은 그 이유가 있지만 아마 의도했던 것과 같은 기능을 구현할 다른 방법이있을 것입니다. – mozi