Is this code correct?
YouthBirthday birth; birth = new Birthday( "Terry", 23 );
No. A reference variable for a child class (YouthBirthday) cannot be used for an object of a parent class (Birthday).
YouthBirthday
Parents can accommodate children, but children can't accommodate parents. If you find this rule hard to remember, just think of yourself and your parents:
It is OK for you to go home and stay in your parent's house for a few days, but it's not OK for them to stay in your dorm room for a few days.
Now let us re-write YouthBirthday
in order to show more about polymorphism.
Say that you want two greeting()
methods
for YouthBirthday
:
greeting()
method.
Here is a skeleton:
// Revised version // class YouthBirthday extends Birthday { public YouthBirthday ( String r, int years ) { super ( r, years ) } // additional method---does not override parent's method public void greeting( ___________ ____________ ) { super.greeting(); System.out.println("How you have grown!!\n"); System.out.println("Love, " + ___________ + "\n" ); } }