Is this code correct?

YouthBirthday birth;
birth = new Birthday( "Terry", 23 );

A good answer might be:

No. A reference variable for a child class (YouthBirthday) cannot be used for an object of a parent class (Birthday).


New Definition of 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:

  1. The parent's greeting() method.
    • This will be included by inheritance.
  2. A method with the name of the sender as a parameter.
    • This will be an additional method―it will not override the parent's method.
    • In addition to what the parent's method does, this method will write out "How you have grown!! Love," followed by the name of the sender.

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" );
  }
}

QUESTION 11:

Fill in the missing parts.