Both Java and C# share the same model of pure interface types. You declare a pure interface by going interface Mailable, then you can declare you implement it with class Customer implements Mailable (in Java). A class may implement any number of pure interfaces. One of the things this model ignores is that you have implicit interfaces whenever you have a class. The public implicit interface Custom
![bliki: Implicit Interface Implementation](https://cdn-ak-scissors.b.st-hatena.com/image/square/cea9c6d4f82ce41fee130ef95d2d513c05646df6/height=288;version=1;width=512/https%3A%2F%2Fmartinfowler.com%2Flogo-sq.png)