File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes A class is a subclass of itself? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "A class is a subclass of itself?" Watch "A class is a subclass of itself?" New topic

A class is a subclass of itself?

viki Bhardwaj
Ranch Hand

Joined: Nov 07, 2011
Posts: 74

how can it be possible that a class is a subclass of itself?....i am getting confuse with this statement ...can anybody explain about this...?
please reply me...
Kemal Sokolovic

Joined: Jun 19, 2010
Posts: 825

Inheritance represents IS-A relationship. Since a class IS itself, it cannot inherit itself. Even if you try to implement it (class A extends A) you will get compile time error.
This is more of a theoretical question, and I would point you to this post for further explanation.

The quieter you are, the more you are able to hear.
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46367
You need to read the Java Language Specification for the official definition, but it may be difficult to read. I think you will find it calls a class a subtype of itself.

It is also a supertype of itself. But not a superclass or subclass. At least I think that is what you will find.
Jeff Verdegan

Joined: Jan 03, 2004
Posts: 6109

Kemal Sokolovic,
Your post was moved to a new topic.
Mike Simmons
Ranch Hand

Joined: Mar 05, 2008
Posts: 3028
The JLS is more confusing than usual on this topic. Campbell summarizes it correctly - the supertypes and subtypes of a class include the class itself, but the superclasses and subclasses do not. Which seems stylistically inconsistent, but logically consistent, in the sense that the JLS does use the terms precisely and consistently, even if they seem inconsistent.

So if you're using the JLS definitions, a class is not a subclass of itself, but it is a subtype of itself.

If you're using some other definitions, well, the answer would depend on the definitions used.
I agree. Here's the link:
subject: A class is a subclass of itself?
It's not a secret anymore!