closedjacket
closedjacket

Reputation: 1

Methods implemented in inner class for an outer class implementing interface

Say that we have an interface:

public interface SomeInterface {
  public void A();
  public void B();
}

and we have a class:

public class SomeClass {
  public void A(){...};

  private class SomeInnerClass {
    public void B(){...};
  }
}

And I need SomeClass to implement SomeInterface, but the required method "B" in SomeClass is implemented in an inner class. What can I do to make SomeClass successfully implement SomeInterface?

Upvotes: 0

Views: 58

Answers (1)

Adir Dayan
Adir Dayan

Reputation: 1617

Inside SomeClass create an instance of the SomeInnerClass and use its implementation for B() method.

like that:

public class SomeClass {
  private SomeInnerClass someInnerClass = new SomeInnerClass();

  public void A(){
      ...                    // self implementation
  };

  public void B(){
      someInnerClass.B();    // Inner class implementation
  };

  private class SomeInnerClass {
    public void B(){...};
  }
}

Upvotes: 1

Related Questions