Abstract class is used when you want to inherit something interface is used when u want to implement something they both sounds similar but are differnet. regarding class and interface in class u can define instance variables and methods but in interface u can define methods but not instance variable but you can define variable with final,that should be implemented in all the classes.
what is the difference bewteen abstract class and interface ?
Abstract class can contain some methods that are already implemented which subclasses can inherit their behaviour without modifying it.But interface will contain method definitions.Where if you want to create a concrete class which will be used to create objects then you must implement all the methods defined in the interface.
One good advantage of interface is it supports multiple inheritance.
what is difference bewteen interface and class?
Interface can not be instantiated. but class can be instantiated.I mean using interface you wont be able to create Object.