What is the difference between interface and abstract class in Java?
Abstract classes can have methods with implementation whereas interface provides absolute abstraction and can't have any method implementations. Note that from Java 8 onwards, it's possible to create default and static methods in interface that contain the method implementations.
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction: What is the difference between interface and abstract class in Java?
### Input: 
### Response: Abstract classes can have methods with implementation whereas interface provides absolute abstraction and can't have any method implementations. Note that from Java 8 onwards, it's possible to create default and static methods in interface that contain the method implementations.