Getting hold of the outer class object from the inner class object

前端 未结 8 1394
孤独总比滥情好
孤独总比滥情好 2020-11-22 02:26

I have the following code. I want to get hold of the outer class object using which I created the inner class object inner. How can I do it?

pub         


        
8条回答
  •  别那么骄傲
    2020-11-22 03:03

    Have been edited in 2020-06-15

    public class Outer {
    
        public Inner getInner(){
            return new Inner(this);
        }
    
        static class Inner {
    
            public final Outer Outer;
    
            public Inner(Outer outer) {
                this.Outer=outer;
            }
        }
    
        public static void main(String[] args) {
            Outer outer = new Outer();
            Inner inner = outer.getInner();
            Outer anotherOuter=inner.Outer;
    
            if(anotherOuter == outer) {
                System.out.println("Was able to reach out to the outer object via inner !!");
            } else {
                System.out.println("No luck :-( ");
            }
        }
    }
    

提交回复
热议问题