An interface is a declaration of a set of methods with no information given about their implementation. All interface methods are abstract. An interface cannot be instantiated. However, a class may inherit from multiple interfaces. The purpose of interfaces is to give objects that are conceptually similar but internally different a common interface so that code may treat them the same, or seamlessly exchange them.