Worked example
class Tag implements Printable, Sized {
public String label() { return "<" + text + ">"; } // from Printable
public int size() { return text.length(); } // from Sized
}
Tag t = new Tag("hello");
Printable p = t; // a Tag is a Printable
System.out.println(p.label()); // <hello>
The same Tag object can be seen as a Printable, a Sized, or a Tag.