A good answer might be:

A type cast is necessary to tell the compiler that the variable tax in this case contains a Book object:

  public static void main ( String[] args )
  {
    Book    book ;
    Taxable tax = new Book ( "Emma", 24.95, "Austin" );

    book = (Book)tax;
    book.display();
    System.out.println( "Tax on item 1 "+ book.calculateTax() );
  }

Additional Facts about Interfaces

There are features of interfaces that the example did not show: A class can implement several interfaces:

class SomeClass extends SomeParent implements InterfaceA, InterfaceB, InterfaceC
{

}

Now SomeClass must implement all the methods listed in all the interfaces.

QUESTION 18:

Could the interfaces contain several definitions of the same constant?

Click Here after you have answered the question