2013-04-05 74 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呵呵,我很惊讶,downvoter关心评论? – 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; 
    } 
}; 

,并遵循Java命名约定(驼峰

2

正如其他人所说,你错过了在new IMethodCallback之后的圆括号。但是您还需要声明您的实现方法Execute()public,因为这是实现您的界面的方法。接口中的方法隐含地为public

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

接口中的方法是隐式公开的,实现者不能削弱访问特权。 – rgettman

+0

+1啊,错过了。 –