A class can be a "subclass" of itself if its inner class extend the outer class so the class is somehow extending itself without throwing any Exception. So, does it really mean a class is also a subclass of itself?
Thanks.
A class can be a "subclass" of itself if its inner class extend the outer class so the class is somehow extending itself without throwing any Exception. So, does it really mean a class is also a subclass of itself?
Thanks.
A class is not a subclass of itself. An inner class could be a subclass of some other class, but that is a separate class. You can verify this by comparing the Class instances you get when you call getClass().
Actually JVM doesn't now anything about inner classes.
All inner classes become usual classes after compilation but compiler gives them accessors to all fields of outer class.
In OOP theory, class cannot be its subclass or superclass.
No. An inner class is something completely different from its outer class. Unless I am misunderstanding your question...
If you define a class subclassing itself as this:
Then yes this is possible. But note that these are two entirely separate classes, barring the fact the one is inner to the other.
The definition of subclass is that it extends another class and inherits the state and behaviors from that class. A class cannot extend itself since it IS itself, so it is not a subclass. Inner classes are allowed to extend the outer class because those are two different classes.