A protocol is a set of rules governing a time sequence of events that must take place.
Between interface is A protocol is a set of rules governing a time sequence of events that must take place.
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information. The exchange can be between software, computer hardware, peripheral devices, humans and combinations of these.
The methods of a class are defined to perform a specific action. The methods in an interface are purely abstract. A class can implement any number of interface and can extend only one class. An interface can extend multiple interfaces but can not implement any interface.
Main difference is methods of a Java interface are implicitly abstract and cannot have implementations. A Java abstract class can have instance methods that implements a default behavior. 2.Variables declared in a Java interface is by default final. An abstract class may contain non-final variables.