1

我对 Java 编程很陌生,我有一个疑问。

我有一个这样的程序:

class A {

  static final class B {

       public int addMe() {
       }

  }

}

我该如何调用该方法addMe

当我这样做时,A.B.addme()我得到一个错误。

4

3 回答 3

8

addme()是内部类B的一个实例方法。所以你需要一个B实例才能调用它:

A.B b = new A.B();
b.addme();
于 2013-02-20T12:53:23.437 回答
3

你的addMe()方法不是静态的,所以你不能在没有B类实例的情况下调用它:

A.B b = new A.B();
b.addMe();
于 2013-02-20T12:53:16.247 回答
1

典型的java内部类(没有静态)只能在它声明的类内部初始化。静态内部类实际上是一个普通类,对程序中的任何其他类可见,但在其他类的文件中声明。

您必须实例化静态类 B 并调用方法或将方法本身标记为静态。

于 2013-02-20T12:54:12.277 回答