class ClassA
{
private ClassA()
{
}
}
class ClassB extends ClassA
{
//here we will get a compiler error that cannot extend a class with private constructor
}
public class GenericTestClass
{
private class TestingInnerPrivateClass
{
private TestingInnerPrivateClass()
{
}
public void display()
{
System.out.print("Test");
};
}
public class InnerPublicClass extends TestingInnerPrivateClass
{
//here i am able to extend a private class
}
public static void main(String[] args)
{
GenericTestClass genericTestClass = new GenericTestClass();
GenericTestClass.InnerPublicClass innerPublicClassInstance = genericTestClass.new InnerPublicClass();
innerPublicClassInstance.display();
}
}
Если вы посмотрите на код выше, вы можете увидеть, что я не в состоянии продлить classB
от classA
, но я могу продлить InnerPublicClass
от InnerPrivateClass
.Почему частный класс с частным конструктором может быть подклассифицирован?
Я не могу понять, как класс, который является частным и имеет частный конструктор, может быть подклассифицирован, когда он является внутренним классом.
Хорошо, я понял. Простое и эффективное объяснение. Благодарю. –