3

私は異常な出来事を見てきました。メソッド内に記述されたクラスをインスタンス化する方法を教えてください。以下のプログラムは Netbeans で正常にコンパイルされました

  class OuterClass
    {
      int instanceVar;
      void InstanceMethod()
       {
          class InnerClass
           {
             int innerClassVar;
           }
       }
    }
4

3 に答える 3

8

他のオブジェクトと同じように実行してください:

class OuterClass
{
  int instanceVar;
  void InstanceMethod()
   {
      class InnerClass
       {
         int innerClassVar;
       }

       //...

       InnerClass myInstance = new InnerClass();
   }
}
于 2013-07-24T20:45:54.790 に答える
4

追加するだけです:これらはLocal Classesと呼ばれます。モルガノの回答で指摘されているように、メソッドで「通常の」クラスのようにインスタンス化します

于 2013-07-24T20:53:53.740 に答える
1

メソッド内でのみ使用でき、ほとんどの場合、静的クラスにする必要があります。

于 2013-07-24T20:46:16.827 に答える