Class can Be Instantiated where interface can not be instantiated
Each Object in class will have its own state where as in interface each objected created after implementing will have the same state
Every Object of class will have the same behavior unless overridden where as every Object will have a define its own behavior by implementing the contract defined.
A Class can inherit only one Class and can implement many interfaces where as an Interface cannot inherit any classes while it can implement many interfaces
All the variables are instance by default in class unless otherwise specified where as all the variables are static final by default, and a value needs to be assigned at the time of definition
All the methods in a class should be having a definition unless decorated with an abstract keyword where as in interface all the methods are abstract by default and they will not have a definition.