public interface IMethodCallback
{
boolean Execute();
}
...
IMethodCallback callback = new IMethodCallback
{
boolean Execute()
{
return false;
}
};
這會導致錯誤。我如何在Java中做這樣的事情?匿名類錯誤
public interface IMethodCallback
{
boolean Execute();
}
...
IMethodCallback callback = new IMethodCallback
{
boolean Execute()
{
return false;
}
};
這會導致錯誤。我如何在Java中做這樣的事情?匿名類錯誤
你缺少括號()
IMethodCallback callback = new IMethodCsallback() {
// your impl method
};
你錯過了構造函數的括號:
IMethodCallback callback = new IMethodCallback()
{
public boolean Execute()
{
return false;
}
};
IMethodCallback callback = new IMethodCallback() //You have missed the parenthesis of constructor.
{
public boolean Execute() {
return false;
}
};
,並遵循Java命名約定(駝峯)
正如其他人所說,你錯過了在new IMethodCallback
之後的圓括號。但是您還需要聲明您的實現方法Execute()
public
,因爲這是實現您的界面的方法。接口中的方法隱含地爲public
。
IMethodCallback callback = new IMethodCallback()
{
// Implements an interface; must be public
public boolean Execute()
{
return false;
}
};
接口中的方法是隱式公開的,實現者不能削弱訪問特權。 – rgettman
+1啊,錯過了。 –
我不明白爲什麼這是downvoted。世界某些地方稱'()'「括號。」 –
+1這不應該downvoted! –
@MattBall呵呵,我很驚訝,downvoter關心評論? – PermGenError