An object
in java contains data (class members) and set of operations (methods). These operations are performed on the data stored by the object.
Now both interface
and abstract class
don't provide concrete implementation of operations, which could be performed on the object data. Basically interface
and abstract classes
in the java are used to define/declare the contract for an object. This contract of operations is later fulfilled by the concrete/complete classes.
So these incomplete objects will be of no use in the application. So java does not allow creating instance of interface
or abstract classes
.