首页 新闻 会员 周边

关于Java中继承内部类的问题,求解!

0
悬赏园豆:20 [待解决问题]

最近一直在看Java编程思想,在第十章内部类中关于继承内部类的一块没有看明白,代码和问题如下:package innerclasses;

class WithInner {
    
    class Inner{}
    
}

public class InheritInner extends WithInner.Inner{
    
    public InheritInner(WithInner wi) {
        /**
         * 问题是关于接下来的语句:
         * 按字面上,这里是调用wi的父类,也就是超类Object的构造方法么?!
         * 但是实际上wi.super()接指向的是WithInner.Inner类,这是怎么实现的呢?
         * 也就是怎么通过将继承类与外部类的实例挂上钩的呢?
         * 能解释下原因么?!
         */
        wi.super();
    }
    
    public static void main(String[] args) {
        WithInner wi = new WithInner();
        InheritInner ii = new InheritInner(wi);
    }
}

WangSeaQuan的主页 WangSeaQuan | 初学一级 | 园豆:184
提问于:2014-08-21 15:32
< >
分享
所有回答(2)
0

可以参考下我以前转的这篇文章:传送门

Jaryleely | 园豆:367 (菜鸟二级) | 2014-08-21 16:32
0

如果WithInner.this().则执行WithInner.Inner,这个能理解吧?那么在继承子类中super可以看做指向父类的指针,父类中的this。姑且这么理解吧

伏草惟存 | 园豆:1420 (小虾三级) | 2014-08-25 18:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册