Jaws, 120 min. available: true Star Wars, 90 min. available: true
The VideoTape  class has basic information in it,
and would be OK for documentaries and instructional tapes.
But movies need more information.
Let us make a class that is similar to VideoTape,
but has the name of the director and a rating.
class VideoTape
{
  String  title;    // name of the item
  int     length;   // number of minutes
  boolean avail;    // is the tape in the store?
  // constructor
  public VideoTape( String ttl )
  {
    title = ttl; length = 90; avail = true; 
  }
  // constructor
  public VideoTape( String ttl, int lngth )
  {
    title = ttl; length = lngth; avail = true; 
  }
  public void show()
  {
    System.out.println( title + ", " + length + " min. available:" + avail );
  }
  
}
class Movie extends VideoTape
{
  String  director;     // name of the director
  String  rating;       // G, PG, R, or X
  // constructor
  public Movie( String ttl, int lngth, String dir, String rtng )
  {
    super( ttl, lngth );                 // use the super class's constuctor
    director = dir;  rating = rtng;      // initialize what's new to Movie
  }
}  
The class Movie is a subclass of VideoTape.
An object of type Movie has the following members in it:
member title inherited from VideoTape length inherited from VideoTape avail inherited from VideoTape show() inherited from VideoTape director defined in Movie rating defined in Movie 
Both classes are defined: the VideoTape class can be used
to construct objects of that type, and now the Movie class
can be used to construct objects of the Movie type.