黑马程序员技术交流社区

标题: 内部类能被继承吗? [打印本页]

作者: 柏涛    时间: 2014-2-21 19:28
标题: 内部类能被继承吗?
是不是需要什么特殊处理,求问????
作者: 徐老爹    时间: 2014-2-21 21:05
内部内应该是可以被继承的,但是由于内部类有一个指向外围类对象的秘密引用,所以在继承内部类的时候,该秘密引用必须被初始化。解决方法是enclosingClassReference.super();。
代码如下:
class Outer
{
     class Inner
      {
       }
}
class AnoClass extends Outer.Inner
{
      AnoClass (Outer wi)
        {
              wi.super();
         }
}

并且刚才在百度上找了一下,两个不同的内部内也是可以一个继承另一个。


作者: Amorvos    时间: 2014-2-21 21:41
匿名的内部类不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

内部类可以被继承,由于内部类有一个指向外围类对象的秘密引用,所以在继承内部类的时候,该秘密引用必须被初始化。
作者: sgs_gzy    时间: 2014-2-22 01:14
内部类本身就是用于实现多继承,当然能被继承。像1楼所述的那样,在外部类中新建了个内部类,而后又新建了个类来继承外部类里的内部类。因为本人只是个初学者,也就只看懂这些,希望大家共同学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2