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

前端 未结 7 1151
执笔经年
执笔经年 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:47

    You could do this in OuterExtendsInner:

    class OuterExtendsInner extends Outer.InnerBase {
        Outer o;
    
        OuterExtendsInner(Outer o) {
            o.super();
            this.o = o;
        }
    
        void method() {
            // now you can reference o.some_member
            int x = o.some_member;
        }
    }
    

提交回复
热议问题