What is an interface in Java/C#?

What is an interface in Java/C#?

Approach: Define contract for behavior.

A blueprint of a class that contains static constants and abstract methods. It specifies what a class must do, but not how it does it.

Follow-up: Can a class implement multiple interfaces?

Key concepts: abstract methods, contracts, multiple inheritance.