2013-04-05 2 views
3
public interface IMethodCallback 
{ 
    boolean Execute(); 
} 

... 

IMethodCallback callback = new IMethodCallback 
      { 
       boolean Execute() 
       { 
        return false; 
       } 
      }; 

이 오류가 발생합니다. Java에서 이와 비슷한 것을 어떻게 만들 수 있습니까?익명 클래스 오류

답변

2

당신이 누락 괄호 ()

IMethodCallback callback = new IMethodCsallback() { 
      // your impl method 
}; 
+1

나는 왜 이것이 downvoted인지 이해하지 못합니다. 세계의 일부 지역에서는'()'을 "괄호"라고 부릅니다. –

+2

+1 이것은 downvoted해서는 안됩니다! –

+0

@MattBall hehe, 나는 놀랍다. – PermGenError

3

당신은 생성자의 괄호 그리워 :

IMethodCallback callback = new IMethodCallback() 
{ 
    public boolean Execute() 
    { 
     return false; 
    } 
}; 
1
IMethodCallback callback = new IMethodCallback() //You have missed the parenthesis of constructor. 
{ 
    public boolean Execute() { 
     return false; 
    } 
}; 

및 자바 명명 규칙을 따릅니다 (낙타 케이스)

2

다른 사람들이 언급했듯이, 당신은 괄호는 new IMethodCallback 이후입니다. 그러나 구현 방법을 Execute()public으로 선언해야합니다. 이것이 인터페이스 구현 방법이기 때문입니다. 인터페이스의 메소드는 암시 적으로 public입니다.

IMethodCallback callback = new IMethodCallback() 
{ 
    // Implements an interface; must be public 
    public boolean Execute() 
    { 
     return false; 
    } 
}; 
+0

인터페이스의 메소드는 암시 적으로 public이며 구현자는 액세스 권한을 약화시킬 수 없습니다. – rgettman

+0

+1 아, 그리워. –