How to make an outer class inherited from an inner class?

前端 未结 7 1165
执笔经年
执笔经年 2020-12-19 04:08

How can I make something like this work:

class Outer {
  int some_member;

  abstract class InnerBase {
    abstract void method();
  }
}

class OuterExtends         


        
7条回答
  •  情书的邮戳
    2020-12-19 04:42

    Just have a getter method in the InnerBase?

    class Outer {
      int some_member;
    
      abstract class InnerBase {
        abstract void method();
        protected int getSome_Member() // This is possible, because Abstract classes can have non-abstract methods.
        {
           return some_member;
        }
      }
    }
    
    class OuterExtendsInner extends Outer.InnerBase {
      OuterExtendsInner(Outer o) { o.super(); }
      void method() {
           // you can access "some_member" now
          int myNumber = getSome_Member();
    
      }
    }
    

提交回复
热议问题