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??
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();").
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.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
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.