CIS 35A: Introduction to Java Programming

Home | Green Sheet | Lectures | Assignments | FAQ | Grades

Interfaces

Interfaces
Interfaces
Inherit a class

How to inherit a class and implement an interface

  • A class can inherit another class and also implement one or more interfaces.
  • If a class inherits another class that implements an interface:
    • the subclass automatically implements the interface (but you can code the implements keyword in the subclass for clarity)
    • the subclass has access to any methods of the interface that are implemented by the superclass and can override those methods

The syntax for inheriting a class and implementing an interface

public class SubclassName extends SuperclassName
    implements Interface1[, Interface2]...{}

A Book class that inherits Product and implements Printable

public class Book extends Product implements Printable
{
    private String author;

    public Book(String code, String description,
        double price, String author)
    {
        super(code, description, price);
        this.author = author;
    }

    public void setAuthor(String author)
    {
        this.author = author;
    }

    public String getAuthor()
    {
        return author;
    }

    public void print()    // implement the Printable
                           // interface
    {
        System.out.println("Code:\t" + super.getCode());
        System.out.println("Title:\t" + super.getDescription());
        System.out.println("Author:\t" + this.author);
        System.out.println("Price:\t" + super.getFormattedPrice());
    }
}
Previous | Code | Implement | Inherit a class | Use an interface as a parameter | Use inheritance with interfaces | Next