An Abstract class in java may have abstract methods as well as non abstract (concrete/defined) methods.These non abstract methods make it partial abstraction. Whereas In case of an interface, it has abstract methods only.The user has to provide implementation for all the methods of an interface if it is trying to implement that interface. Since an interface has only abstract methods it gives full abstraction.