关于内部类的继承
java吧
全部回复
仅看楼主
level 10
wyl0706 楼主
大家可以看到,为了让内部类继承另一个内部类,分别需要将两个外围类初始化,这个没有什么问题,关键是:haveInner.super("123");这一句。
haveInner是父内部类的外围类,为什么要在子内部类的构造函数中通过haveInner.super()来调用父内部类的构造函数?我理解在子类的构造函数需要调用父类的构造函数,但haveInner.super()这个句式太奇怪了,外围类对象.super(),好诡异。。。
2015年12月18日 03点12分 1
level 11
你说得好有道理,我竟无言以对o(╯□╰)o
2015年12月18日 03点12分 2
[汗]
2015年12月18日 04点12分
level 13
出来吧飞机场
2015年12月18日 04点12分 3
???什么意思
2015年12月18日 04点12分
回复 wyl0706 :手机中毒,不要管
2015年12月18日 04点12分
level 12

非静态内部类的构造依赖外围类实例,所以需要这么奇怪的语法。
构造非静态内部类用 外围类对象.new 内部类()
调用非静态内部类超类构造方法用 外围类对象.super()
如果在外围类的实例上下文里的话,new 内部类() 其实相当于 this.new 内部类()
2015年12月18日 05点12分 6
也就是没有为什么,编译器这么设计的喽?
2015年12月18日 07点12分
1