長いクラス宣言を必要とする変数があるコードがあります。ページの上部で変数を定義し、後で次のように定義したいと思います。
private IFoo bar;
/* seemingly irrelevant code */
bar = new IFoo() { /* a bunch of stuff */ };
しかし、私のJavaコンパイラは、これは起こり得ないと不平を言っています。前の行に構文エラーがあると表示されます  }(適切な場所にあるため、これは実際には意味がありません)。
したがって、コンパイラを静めるために、変数の定義をmore内に配置しました{ }
。このパターンが何と呼ばれているのか忘れていますが、なぜそれが存在するのか、そして私の場合は本当に必要ではないのかはわかっています。
{
    bar = new IFoo() { /* a bunch of stuff */ };
}
とにかく、私の質問は、なぜ私はただできないのか、できないのかということだと思い 
bar = new IFoo(){};  ます
{ bar = new IFoo(){}; }
。
その他の詳細:IFooインターフェースです。AndroidとEclipseでJDK1.6を使用しています。
barすぐに定義すると問題なく機能します。
private IFoo bar = new IFoo() { /* stuff */ };