An interface promises nothing about an action! The source of the confusion is that in most languages, if you have an interface type that defines a set of methods, the class that implements it "repeats" the same methods (but provides definition), so the interface looks like a skeleton or an outline of the class.
oop - What is the definition of "interface" in object oriented ...
Interface values are represented as a two-word pair giving a pointer to information about the type stored in the interface and a pointer to the associated data. Assigning b to an interface value of type Stringer sets both words of the interface value. The first word in the interface value points at what I call an interface table or itable (pronounced i-table; in the runtime sources, the C ...
An interface is a contract: The person writing the interface says, " hey, I accept things looking that way ", and the person using the interface says " OK, the class I write looks that way ". An interface is an empty shell. There are only the signatures of the methods, which implies that the methods do not have a body. The interface can't do ...
42 The interface keyword indicates that you are declaring a traditional interface class in Java. The @interface keyword is used to declare a new annotation type. See docs.oracle tutorial on annotations for a description of the syntax. See the JLS if you really want to get into the details of what @interface means.
I know this is old, but a very important difference between an interface and an abstract class in C# is that, once you release an interface, changing the interface is a breaking change but not so for an abstract class.