Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

A subclass object would invoke superclass constructor?

 
jaspreet atwal
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Guys,
I have a superclass with a constructor superclass().
I have a subclass that extends superclass and has its own constructor.
I create an object of subclass
subclass obj = new subclass();

Now my question is would this also invoke constructor for superclass??
 
Kelvin Chenhao Lim
Ranch Hand
Posts: 513
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes. The first statement of every class's constructor must either invoke another constructor (e.g. "this(42);") or a superclass constructor (e.g. "super(42);"). If neither is explicitly specified in your constructor code, the compiler will automatically add a call to the no-arguments superclass constructor (i.e. "super();").
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is easily demonstrated with the following test code...

Consider: If SubClass extends SuperClass, then any instance of SubClass IS-A SuperClass. So the first step in creating an instance of SubClass is to create an instance of SuperClass.
 
jaspreet atwal
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by marc weber:
This is easily demonstrated with the following test code...

Consider: If SubClass extends SuperClass, then any instance of SubClass IS-A SuperClass. So the first step in creating an instance of SubClass is to create an instance of SuperClass.





Marc, This clears my confusion. Thanks!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic