Using interfaces in Java.
The HTML file for the applet:

<HTML>
<APPLET CODE="TestInterface.class" HEIGHT=400 WIDTH=400></APPLET>
</HTML>
The interface file:

import java.awt.*;

public interface ColorObject {
    // returns the colors of the object
    public Color [] getColors();

    // returns true if the color is present, false otherwise
    public boolean hasColor(Color c);

    public void draw(Graphics g);
}
A class that implements the interface:

import java.awt.*;

public class ColorSquare implements ColorObject {
    private Color c;
    private int x;
    private int y;
    private int side;

    public ColorSquare(Color c, int x, int y, int side) {
	this.c = c;
	this.x = x;
	this.y = y;
	this.side = side;
    }

    public Color [] getColors() {
	Color [] cc = {c};
	return cc;
    }

    public boolean hasColor(Color c) {
	return this.c == c;
    }

    public void draw(Graphics g) {
	g.setColor(c);
	g.fillRect(x,y,side,side);
    }
}

The test file:

import java.awt.*;
import java.applet.*;

public class TestInterface extends Applet {

    public void paint(Graphics g) {
	ColorObject [] co = new ColorObject[4];
	co[0] = new ColorSquare(Color.red, 0, 0, 100);
	co[0].draw(g);
    }
}

This is an example from CSci 1211 course.