Why is it best to use super?

A good answer might be:

You should not write the same code more than once. You might make a mistake the second time (for example: forgetting to initialize the member avail.)

Instantiating Movie

Here is an example program that makes use of the two classes:

class TapeStore
{
  public static void main ( String args[] )
  {
    VideoTape item1 = new VideoTape("Microcosmos", 90 );
    Movie     item2 = new Movie("Jaws", 120, "Spielberg", "PG" );
    item1.show();
    item2.show();
  }
}

(You can run this program by using NotePad and copying and pasting the class definitions from the previous pages.) When you run it, you will get the following output:

Microcosmos, 90 min. available:true
Jaws, 120 min. available:true

The statement item2.show() calls the show() method of item2. This method was inherited without change from the class VideoTape. This is what it looks like:

  public void show()
  {
    System.out.println( title + ", " + length + " min. available:" + avail );
  }

It does not mention the new variables that have been added to objects of type Movie, so nothing new is printed out.

QUESTION 11:

Why not change show() in VideoTape to include the line

    System.out.println( "dir: " + director + rating );

Click Here after you have answered the question