📜  内部类是否被继承 - Java (1)

📅  最后修改于: 2023-12-03 15:22:36.156000             🧑  作者: Mango

内部类是否被继承 - Java

在Java中,内部类是指被定义在另一个类内部的类。内部类有四种:成员内部类、静态内部类、局部内部类、匿名内部类。那么问题来了,当一个类内部定义了内部类后,这个内部类是否可以被继承呢?答案是可以的。

内部类作为外部类的成员,它的访问修饰符和外部类的成员是一样的,可以被继承和使用。下面我们以代码的形式来说明:

public class Outer {
    public class Inner {
        public void method() {
            //do something
        }
    }
}

public class SubClass extends Outer.Inner {
    //do something
}

从上面的代码中可以看出,我们定义了一个外部类Outer和一个内部类Inner。然后我们在另一个类SubClass中继承了Inner内部类。这说明在Java中,内部类可以被继承。

需要注意的是,当内部类是私有的或者是包含内部接口或内部枚举时,继承内部类的类必须在内部类所在的类的范围内才能访问内部类。否则会出现编译错误。

总结一下:内部类可以被继承,但需要注意访问权限的问题。

参考链接: