• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

A class is a subclass of itself?

 
viki Bhardwaj
Ranch Hand
Posts: 74
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Hi..Everyone!
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
Bartender
Posts: 825
5
Java Python Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Campbell Ritchie
Sheriff
Pie
Posts: 50278
80
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Kemal Sokolovic,
Your post was moved to a new topic.
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic