📅  最后修改于: 2023-12-03 15:22:36.156000             🧑  作者: Mango
在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中,内部类可以被继承。
需要注意的是,当内部类是私有的或者是包含内部接口或内部枚举时,继承内部类的类必须在内部类所在的类的范围内才能访问内部类。否则会出现编译错误。
总结一下:内部类可以被继承,但需要注意访问权限的问题。
参考链接: