Abstract class and interface are both being used in Java. When you need to declare them, you are going to use an abstract class in order to declare an abstract keyword. When you would need to declare an interface, you can use this with the use of an interface keyword. Another difference is that an abstract class will have different types of members which means that you can use extended keywords. With the interface, you can tell that there are only public members that are available. An abstract class will have the ability to create an interface while an interface will not be able to implement an interface. The only thing that it can do is to extend the interface.
There are different things about abstract class and interface that you should know. First of all, when you are using abstract class, you know that there are possible implementations that can be used. When you are using the interface, you know that you cannot use implementations. The members of the interface are automatically public. The interface will have final members, while Java Abstract Class will have none. For Java abstract class, there are different class members that you can find. Another thing that should be remembered is that interface can be very abstract and will not be effective if instantiated. For Abstract class, it cannot be instantiated, too, but there is a possibility for invocation with the existence of ().