Class Object is the root of the class hierarchy. Every class has Object as a superclass.
Interface do not have any super class and do not come into the class hierarchy of the JAVA.
And Constructor is required for any classes which come into this hierarchy, even it is also required for abstract classes.
Constructor is provided a way to instantiate class' object. And as interface do not have it, it can not be possible to put instance members in it.
Interface methods just provide a contracts for other classes to use it and also forces(by abstract keyword) to give an implementation for it.
And with public keyword, any class can access them.
Interface has only constants(therefore they are final), and not instance variables.
By declaring static, it say that it is (class) constant for every classes which will satisfy its method's contract.
And with public keyword, any class can access them.