An explanation of Java Interfaces via Ruby's Ducktyping.