-1

次のようなネストされた静的クラスを作成しました。

public class OuterClass {

  public static class NestedClass {
    public static String getName() {
      //Some stuff
      return "Name";
    }
  }

  //Now am not able to call the method *getName()* inside *OuterClass*
  NestedClass.getName(); //Compile complains here
}

しかし、私は別のクラスからそれを行うことができます

public class TestOuterClass {
  public void testName() {
    OuterClass.NestedClass.getName();
  }
}

定義されたクラスで機能しない理由がわかりません。

4

1 に答える 1

2

NestedClass.getName();などのメソッド内に配置しmainます。

これは正しくコンパイルおよび実行されます。

public class OuterClass {

  public static class NestedClass {
    public static String getName() {
      //Some stuff
      return "Name";
    }
  }

  public static void main(String[] args)
  {
      System.out.println(NestedClass.getName());
  }
}

出力:

$ javac OuterClass.java
$ java OuterClass
Name
$
于 2013-04-02T21:32:05.940 に答える