如果我的内部类实现了与外部类不同的东西,我怎么能调用外部类的方法?

时间:2015-08-11 20:32:09

标签: java class methods nested

我的代码如下所示:

class A {
      void myMethod() {
      ...
      }

      class B implements class C {
      // ... how can I call myMethod here?
      }
}

如果我不够明确或者我的问题中有任何错误,我很抱歉。

2 个答案:

答案 0 :(得分:0)

您应该可以直接调用该方法:

class A {
  void myMethod() {
  ...
  }

  class B implements class C {
    public void init() {
      myMethod(); // calls myMethod() from A
    }
  }
}

在这种情况下,B类也有一个名为" myMethod"的方法,然后看到这个问题:Calling outer class function from inner class

class A {
  void myMethod() {
  ...
  }

  class B implements class C {
    public void init() {
      // calls myMethod from A even tho myMethod is also defined on B
      A.this.myMethod();
    }

    void myMethod() {
    }
  }
}

我只能猜测这会回答你的问题,但由于你没有提供你遇到问题的实际代码,所以很难说。

答案 1 :(得分:-1)

使用此方法在不同的类中运行方法:

class.method();

这将在类类中运行方法方法。

如果您要调用的方法位于您从中调用它的同一个类,则只需编写方法名称:

method();